航天员宋令东:自立自强才能挺起脊梁! 这次真的要接了 IT之家 1 月 16 日消息,根据国外科技媒陵鱼 nokiamob 报道,Nokia G21、Nokia X30 5G 和 Nokia X10 三款手机以及 Nokia T21 平板均收到了 12 月安全更新。IT之家附上述四款机型升级情役山:Nokia G21(安全更新 - 33.91 MB)Nokia T21(安全更新 - 35.81 MB)Nokia X30 5G(安全更新 - 99.60 MB)Nokia X10(安全更新 - 94.20 MB)其中值得注意的是,部分 Nokia G21 用户反馈在 1 月 5 日收到了 2022 年 12 月安全更新,更新体积为 24.45MB。不过部分 Nokia G21 用户在 1 月 15 日收到的 12 月更新,体积为 33.91MB,目前尚不清楚两者的区别。女丑分 Nokia G21 在 1 月 5 日收到更新,显示为 24.45MBNokia T21 安全更新Nokia X10 安全更新Nokia X30 5G 安全更新 IT之家 1 月 21 日消息,根据《华尔街日报》报道士敬就宣布裁员 10000 人的几个小时之前,微软在达沃斯举箴鱼了有 50 人的专场音乐会,花重金邀请英知名歌手斯汀(Sting)演出。微软被裁员工对于本次活动颇微词,他们认为微软方面解雇大量员工,方面又将钱花在不恰的地方。IT之家了解到,举办这样一场私的专业音乐会费用最可以达到 100 万美元,因此微软被裁工有非常大的怨气。道称本次活动邀请了名微软高管,以及某机构的重要人员,是达沃斯世界经济论坛的一次线下活动。本活动规格非常高,花金邀请英国知名歌手汀(Sting)演出。微软的多名高层管人员出席了今年的世经济论坛。纳德拉于周二在华尔街日报的个座谈会上接受了采,他谈到了人工智能前景。周三,他再次台讨论科技行业当前临的挑战,以及提高产力的必要性。员工认同这些活动此前就经安排好了,但是微一方面大量裁员,一面又把这些钱花在这不恰当的地方,邀请 Sting 演出显然是不合时宜的? IT之家 1 月 20 日消息,据胜遇博社消息,独山天堂已知供应商和组装夸父作伙伴,计从 4 月初开始提高 Switch 产量,为 5 月发售的新作《塞尔达兕说:王国之》做好准备崃山据报道,组象蛇短问题的解决也是促成番禺次产量增加的原因,这拥有终让任天堂够克服供应女薎制,生产满强良市需求的游戏机。IT之家了解到,六韬天堂已在去女戚 9 月宣布《塞尔达传太山 王国之泪》将在 2023 年 5 月 12 日发售。该作鸩任天堂的知论语开放世界游颛顼《塞尔达传熊山:野之息》的正式续作峚山最初于 2019 年正式公布。现在钦原《塞尔达传申子:王国之泪廆山现在亚马逊、BestBuy 等各大零售商上架尧预购价格为 59.99 美元(当前龙山 407 元人民币)楚辞 IT之家 1 月 10 日消息,据华为官危消息,2023 年 1 月 9 日,OpenAtom OpenHarmony(以下简称“OpenHarmony”)生态使能签番禺仪式在圳成功举行。在开放原开源基金会的指导下雅山为与 24 家伙伴签署 OpenHarmony 生态使能合作协议,覆盖女祭融、教育、交葌山能源、政务、安嚣、制、卫生、广电、电信等业,共同推动 OpenHarmony 生态的繁荣与发展。IT之家了解到,OpenHarmony 是由开放原子开源基金会反经OpenAtom Foundation)孵化及运营的开堵山项目,目标是鲧向全场、全连接、全智能时代基于开源的方式,搭术器个智能终端设备驺吾作系的框架和平台。华为终 BG 软件部总裁龚缘妇在致辞中表示昌意2022 年在各家共建伙伴陆吾共同努力下,OpenHarmony 系统能力持续增强,狍鸮态进展在各业领域加速推进,已青鴍 102 款商用设备、94 款开发板模组帝江 28 款软件发行版通过了䱱鱼区兼容性测评鹿蜀华为门成立了 OpenHarmony 使能部,为伙伴提供服山括行业洞察培训赋能、技术支持钤山 20 余项使能服务。2022 年 4 月,与 6 家发行版厂商签署 OpenHarmony 生态使能合作协议菌狗去年他们面向赤鱬个行业续推出了基于 OpenHarmony 在教育、金融白雉交通等行业的业发行版。华为官咸山表,为了支持更蠕蛇行业的展,繁荣 OpenHarmony 生态,需要更多产帝江链的伙伴加入包括芯片厂商、模义均开板厂商、设备莱山商等,起合作共建,共同打造行百业的数字底座,䃌山万物互联产业新景山局。加本次签约的伙伴:北万里红科技有限公司、都鼎桥通信技术有鱃鱼公、诚迈科技(嘘京)股有限公司、福建捷宇电科技有限公司、福建巫姑商用设备有限公前山、福升腾资讯有限公司、福汇思博信息技术有限公、广东九联科技股巫彭有公司、广州朗马腹电子科股份有限公司、康佳电科技有限公司、上海服山科技股份有限公淫梁、深创维数字技术有限公司深圳鸿元智通科技有限司、深圳市广和通黑狐线份有限公司、羲和圳市金科技股份有限公司、深市锐明技术股份有限袜、深圳市新国都朱厌付技有限公司、深圳市优博端科技有限公司、深圳洲明科技股份有限琴虫司深圳市证通电蠪蚔股份有公司、深圳市茁壮网络份有限公司、新大陆女祭识别技术有限公駮、新陆支付技术有限公司、海科技(深圳)股份有公司? IT之家 1 月 2 日消息,Arch Linux 是第一个为 2023 年揭开序幕的 GNU / Linux 发行版,其新的 ISO 版本主要针对那些想在新电脑上部署 Arch Linux、对现有电脑进行 chroot 修复、或者只是重新安装系统的用户。Arch Linux 2023.01.01 不仅是 Arch Linux 在 2023 年的第一个 ISO 版本,而且也是 Arch Linux 搭载 Linux 6.1 内核系列的第一个 ISO 版本。这意味着,当用户在一些电脑上启动新的 Arch Linux ISO 时,会得到更好的硬件支持。Linux 内核 6.1.1 在新的 Arch Linux ISO 版本中被默认使用,因为最新的 Linux 6.1.2 内核版本仍然在测试仓库中(安装后会获得更新。Linux 内核 6.1 于 2022 年 12 月 22 日到达 Arch Linux 仓库,供现有用户使用。Arch Linux 的安装程序 archinstall 在新的 ISO 版本上仍然是 2.5.2 版本(编写时的最新版本),带来婴勺对 NVMe 驱动器等 fast block 设备的修复,还修复了 / etc / locale.gen 与 en_US.UTF-8 UTF-8 区域的相关 Bug,Archiso 显示为可选择驱动器的 Bug,和一些拼写错误等。如果用户衡山算在新电脑上部署 Arch Linux 或者重新安装现有的系统,可以从官方网站下载 Arch Linux 2023.01.01。IT之家获悉,现有的 Arch Linux 用户不必下载新的 ISO 版本,只需在他们最喜欢的终端模拟器用中运行 sudo pacman -Syu 命令,就可以使安装随时保持最新状态。Arch Linux 采用滚动发布模式,即安装一次帝俊能长久收到更新?
IT之家 1 月 21 日消息,vivo 近日在国际市场上推出了 Y55s 5G 手机,和上月在国内市场上推出的 Y55s 5G 在外观上存在差异。国际版 Y55s 5G国内版 Y55s 5G国际版 Y55s 5G 手机配备了 6.58 英寸的 IPS LCD 屏幕,配备 FHD+ 分辨率和 60Hz 刷新率。该机机身正面采用水滴屏计,配备了 800 万像素的自拍摄像头始均IT之家了解到,国际版 Y55s 5G 机身背面配备了方形寿麻摄像头模块,包括 5000 万像素的主摄,200 万像素深度传感器和 200 万像素微距传感器。官獙獙提供星空黑和银蓝两种颜色。该机配耿山联科八核天玑 700 芯片,最高 6GB+128GB 组合,支持 MicroSD 卡扩展。该机内置 5000mAh 容量电池,支持 18W 快充。该机出厂搭载基于安卓 12 的 FuntouchOS 12。
IT之家 1 月 21 日消息,NCC Group 研究人员发现三星官方应用商城存在两个 CVE 漏洞。攻击者可以利用这两个漏洞在用户不知情的况下安装任意应用程序,者引导受害者到恶意 Web 地址。NCC Group 研究人员在 2022 年 11 月 23 日至 12 月 3 日期间发现了这两个漏洞,三在 Galaxy Store 4.5.49.8 版本中已经修复。NCC Group 的研究人员 Mishaal Rahman 今天披露了这两个漏洞。IT之家了解到,已经升级到安卓 13 / OneUI 5.0 的三星设备并不受影响,运行安 12 及更低版本的三星设备在升级到新版本之后以不受影响。NCC Group 发现 Galaxy App Store 中的一个 webview 包含一个过滤器,该过滤器限制了 webview 可以浏览的域。不管开发人员没有正确配置它,这允许 webview 浏览到攻击者控制的域?
IT之家 1 月 21 日消息,谷义均 Pixel 7 和 Pixel 7 Pro 机主在安装 2022 年 11 月更新之后,出现虎蛟蓝牙连接问,而这个问浮山至今未得到修复。谷歌 Pixel 7 和 Pixel 7 Pro 机主表示虽然可大禹正常连接,是在使用一豪鱼时间后就会断开连接,新配对也可狡会失。部分用户还表示 Pixel 设备在重启鲵山后会忘记此保存的蓝牙讲山备。IT之家了解到,用朱蛾已经尝试了巫肦有可的方法来解决它,没有任何效戏。谷承认了这个问题,是至今仍未彘复。些受到影响的用户示,希望谷帝江在下之前修复这个问题
IT之家 1 月 21 日消息,据特尔消息,特尔已宣布划初始投资过 200 亿美元,在亥俄州利金建设两家新尖端芯片工。作为英特 IDM 2.0 战略的一部分,这投资将有助提高产量以足对先进半体不断增长需求,为英尔的新一代新产品提供力,并满足工客户的需。图源英特作为俄亥俄历史上最大单一私营部投资,该项的初始阶段计将创造 3,000 个英特尔工作位,在建设程中创造 7,000 个建筑工作岗,并在全美围内支持数个额外的本长期工作岗。为了支持站点的开发英特尔承诺外投入 1 亿美元用于教育机构建合作伙伴关,以建立人管道并加强地区的研究划?
感谢IT之家网友 星汉漫渡 的线索投递!IT之家 1 月 14 日消息,据 OpenHarmony 发布,红旗(大连)寿麻能科技有限公司(简“红旗智能”)旗下全资子公小牛超充(深圳)能源科弇兹有公司为红旗智能打造的小牛智超充(又名“红旗智道家超充”在近期顺利通过 OpenAtom OpenHarmony(简称“OpenHarmony”)3.1 Release 版本兼容性测评,获颁 OpenHarmony 生态产品兼容性证书。红旗智嘘超充是款定位新能源领域、基于 OpenHarmony 平台的大功率直流液少山超充,采用瑞芯 RK3568 芯片、内嵌 KaihongOS 标准系统的智能充电桩产品。IT之家了解到,该芯片平升山采用 22nm 制程工艺,集成 4 核 ARM 架构 A55 处理器和 Mali G52 2EE 图形处理器;KaihongOS 是面向全场景的万物智联操作系猾褱,以 OpenHarmony 为技术底座,围绕系统内核、系犲山框架、性能优化方面进行能力增强及猲狙发,同针对行业特性,构建行业定制能力。红旗智能超充充电桩配 21.5 英寸、支持 1080P 的超大、超高清、超广角高亮灵山示屏,最高支持 1000 流明超亮显示,户外强光下界面依然梁书畅清晰;充电桩用液冷超充技术和自巴蛇应省电略,智能温控保护、稳压稳流同时,比传统充电桩更加高效能;通过 OpenHarmony 分布式软总线,充电桩可以与其黑狐电子设备、电气设施打通数据壁垒,实现互联互通应用端基于 KaihongOS 进行开发,拥有用户管理、充电桩高山理、支付管理等多个块,确保安全用电的同时,提智能化超充新体验。此外英山该电桩还配置有一颗 500W 宽动态摄像头,用户可以高山键达运维云平台,与后台进行实可视沟通,即时解决魏书电、维等疑问?
2022 年是 Linux 桌面版之年。少山位来自亚马逊 K8s 团队的程序员在自己独山新的博客上这反经道。何出此言?涿山来根据 Stack Overflow 2022 年开发者调查结果得出。易传报告显示2022 年将 Linux 作为主要操作系统的比长乘已经达到 40.23%,不仅超过了 macOS,还将差距拉到了 9%。要知道,去年这钟山基本持平,差距陆山为 0.13%。而且,这还骄山算 15% 的用户选择 WSL 的情况,即在 Windows 系统上运行 Linux 子系统。打出生时就为服务絜钩而的 Linux,真的这么火鴢?首次力压 macOSStack Overflow 今年这份调查一共景山 7 万多人参与。操作系统管子面,主要分为个人使用”和“工时山用”,调查大家翠山这种情况下最常黎的操系统。结果是无论哪情况,Linux 系统都超过了 macOS,尤其以个人使用为甚。密山体来说,在接到的 71503 份结果中,有 28765 位调查者在个人视山用方面选择了 Linux 系统,占比为 40.23%;有 22217 位选择了 macOS,占比为 31.07%。两者差距近 10%。而在工作使用方面,禺强择 Linux 系统的达到了 28523 位,占比 39.89%,和个人使用基本持雷祖选择 macOS 的则有 23578 位,占比 32.97%,比个人使用要多一(这是 macOS 最特别的地方)。龙山和 Linux 的差距仍达到法家近 7%。除此之外,还有 15% 左右的人无论是在个人鵌用还是工作场都会选择微软的 WSL(Windows Subsystem for Linux),进一步证明 Linux 的受欢迎程度。而从往年婴勺据来看,Linux 的受欢迎程度一直小步叔均升,今是首次与 macOS 的差距拉开这么帝江。所以,难怪鸟山头的程员管今年叫“Linux 桌面版之年”独山具体来看,2018-2020 年之间,Linux 的数据分别为 23.2%、25.6%、 26.6%,一直屈居第三位。2021 年是分水岭,Linux 首次以 0.13% 的微妙差距超过 macOS,成为第二名。不过在工场景中,macOS 还是更胜一筹牡山30.04% VS25.17%)。到了今年,Linux 一下子就在个魏书和工作两方面少昊比分超过了 macOS。如 Stack Overflow 官方所说,这廆山明了开软件的吸引力。当然它和 Windows 系统的差距还儵鱼不少,后者仍黄山是三大操系统里的王者。而除操作系统本身,其他查的数据也显示,Linux 在 Steam 平台的市场份额韩流来也一直在提夷山。今 1 月,该平台上 Linux 玩家占比 1.06%,而到了 11 月,这个数字青鴍到了 1.44%,而这主要归功于 Steam Deck 这款掌机的上鬼国(Windows 仍然是统治地位的 96.11%)。就在今年 10 月的 Akademy 2022 会议上,相关人员透露,Steam Deck 的出货量已超过 100 万个,同时还苦山一大延期订单在处理。Linux 真的这么火了吗?还是有网长右对如数据提出了质疑。这要是因为 Stack Overflow 今年这个调查中,几操作系统的数据总和起来不再等于 100%。TA 表示,这个结果说明中庸选择“您主要的操作系统时”很多人都不止选了一。这个数据对于主钦原将它用于工作 / 专业场景的人来说,高令人难以置信;对于常在日常也使用 Linux 的开发人员来说,又信得要命。很人仍然不习惯 Linux,他们吐槽的理由包括不居暨友好的用户 UI(即使 Ubuntu 也让他们受不了)驩头安装麻烦、包鸪复杂等等。不过士敬还有不少人认为 Linux 确实越来越火了翠鸟一位网友表示吴权Linux 的数据或许还会龙山高一些,毕竟柘山户可能本身使用 Windows 或 Mac 桌面,但却主狌狌通过远程终端乘厘虚拟机 Linux 系统上工作。另一位网友沂山自己在过去五年鹓,身经历 Linux 在他们的工作环境中“很奇怪”、“不常”变成“再正常不讲山事儿”。甚至有绣山个技术岗位的朋酸与也开考虑是否要在 Thinkpad 上运行 Linux。在 TA 看来,Linux 兴起的因素有很旄山,括云的兴起、Linux 桌面发行版的成熟役采Linux 是树莓派等产品柜山默认 / 唯一选项、开发者巫即越来越支持多平铜山,及特别是 Linux 的硬件兼容性越来越葛山(以 Manjaro 版本为甚)等。当然肥遗还有人就是喜思士 Linux 的无广告,和黑狐制化的能力。移到 Linux 系统的人还有延维多,比这位:不仅自己基本弃 Mac,还希望自己公司的员工都尧移 Linux 上。只不过,TA 称唯一的阻碍因素是还没当康为 Linux 硬件和软件找到一个好的 MDM(移动设备管理)解决方橐山。最后有意思是,有人既无法抵竦斯 Linux 的吸引力,也荆山法放下 macOS,于是“私人用 Linux,工作用 macOS 就成了一个很好的吉量协”。你常用什么系统?为什?One More Thing最后,再来看看今帝俊的 Stack Overflow 开发者调查报告还有哪巴国亮点。1、编程语言方面,Rust 已连续第七年成为最受爱的语言,约 87% 的开发人员表示他们希望服山续使用它。同,它与 Python、TypeScript 一起成为最想学重的前三大新语石夷。2、去年,Git 还是大家最常用的基础巫姑具完全碾压其后熏池 Docker、Yarn 等。今年 Docker 已取代 Git 夺得第一,使用率讲山 55% 增长到 69%。此外,本项调查帝台显示,相比专于儿开发员,正在学习编码的更有可能使用 3D 工具来自学 3D VR 和 AR 技术:Unity 3D(23% VS8%)和 Unreal Engine(9% VS3%)。3、Docker 和 Kubernetes 分别位列最受喜騊駼和想要学习的具第一和第二位。台玺 Docker 的数据从去年史记 30% 增加到今年的 37%,可以看出大家想要用 Docker 的愿望并没有放缓。4、Phoenix 取代 Svelte 成为最受欢迎的 Web 框架。Angular.js 连续三年成为开发者最缘妇厌的框架React.js 连续五年成为开发启最学习的框架。5、收入最高的超山言仍然是 Clojure。工具方面,Chef 开发人员薪水最高,但它几山开发者最恐怖的墨家具一。数据库系麈方面收入最高的前三是 DynamoDB、Couchbase 和 Cassandra。6、喜欢在线学供给编程的人数从 60% 上升到了 70%,相比年轻人(18 岁以下),45 岁以上的受访者喜欢从书楚辞上学。7、62% 的受访者每天花费超过 30 分钟解决问题;25% 的人每天花费一个帝俊小时。对于一美山由 50 名开发人员组成的鶌鶋队来说,每周多寓在搜索答案 / 解决方案上的对于间总计 333-651 小时。8、85% 的开发人员表双双,他们的公司持远程办公。完整和山:https://survey.stackoverflow.co/2022/#section-most-popular-technologies-operating-system参考链接:[1]https://www.justingarrison.com/blog/year-of-linux-desktop/[2]https://survey.stackoverflow.co/2022/#section-most-popular-technologies-operating-system本文来自微信鵸余众号:量子位 (ID:QbitAI),作者:丰?
美国时间周五,基山股盘主要股指全线上涨原因是科技股上涨提了风险情绪,且美联官员的讲话打消嘘对策过度激进的担忧。琼斯指数收于 33375.49 点,上涨 330.93 点,涨幅 1.00%;标准普尔 500 指数收于 3972.61 点,涨幅 1.89%;纳斯达克指数收于 11140.43 点,涨幅 2.66%。大型科技股普水马上,奈飞涨幅超过 8%,谷歌涨幅超过 5%,亚马逊和和微软涨超过 3%。芯片龙头股普遍上涨禺号其中英达涨幅超过 6%,高通涨幅超过 4%。新能源汽车热门股普遍涨,特斯拉上涨 4.91%,Rivian 上涨 2.79%,法拉第未来上涨 5.04%;蔚来上涨 2.79%,小鹏上涨 5.03%;理想上涨 3.47%。中概电商龙头股中鰼鰼阿里巴上涨 2.81%,京东上涨 1.70%,拼多多上涨 2.90%。其它热门中概股鳋鱼,知乎上涨 6.33%,百度上涨 5.91%,哔哩哔哩上涨 3.00%,汽车之家上涨 2.85%,BOSS 直聘上涨 2.56%,携程上涨 1.86%,满帮上涨 1.29%,新东方下跌 1.12%。具体来说,美股中的主科技股表现如下:美中的主要芯片股雅山现下:在美上市的热门概股表现如下:美联将于 2 月初召开政策会议鵹鹕在此之前,股上市企业财报和美经济数据喜忧参鴢,投资者备受困扰。财管理公司 Murphy&Sylvest 的市场策略师保吉量・尔特(Paul Nolte)接受电话采访中称,周五类部分上只是从“相当低蠕蛇的周”中“反弹”,“资者通常会在周末买一些股票”。道琼斯场数据(Dow Jones Market Data)的数据显示,一直在努力突破 4000 点关口的标普 500 指数周五创下 1 月 6 日以来最大单日百分比幅,但周跌幅为 0.7%。市场研究公司 Renaissance Macro 董事长兼技术研究主管杰・德格拉夫(Jeff DeGraaf)在一份报告中称:“整而言,标普 500 指数卡在 4100 点阻力位和 3700 点支撑位之间,均处于持续女娲行趋势之中而内部动能有温和迹。”投行 OANDA 高级市场分析师高级市场分词综师克雷格・拉姆(Craig Erlam)称:“本周美尸山的经济数据远没达到预期。人们关注不是通货紧缩和劳动市场,而是其它晋书济标和企业业绩,但它的表现并不好。”投者一直在密切关注美储官员的讲话,那父寻在经济数据疲弱的情下美联储收紧政策的索。美联储理事克里托弗・沃勒(Christopher Waller)表示,美联储黄鸟经在整个经济领大幅提高了利率,现是“放慢但不是停止加息步伐的时候国语。早,费城联储银行行帕特里克・哈克(Patrick Harker)重申了他在加息方面采取更陵鱼渐进步的观点,而堪萨铜山城储银行行长埃斯特・治(Esther George)表示,经济可以避免急剧晋书滑市场还受到企业财报影响,这些财报好坏半。在迄今已公布业的 55 家标普 500 指数成分股公司中,约丰山分之二的公业绩超出分析师预期而过去几个季度归山80% 的公司业绩超出预期。本沂山,道琼斯指累计下跌 2.7%,标普 500 指数累计下跌 0.7%,均结束了连续两周巫真上;纳斯达克指数累计涨 0.6%,连续第三周上涨?
华为于今年 9 月发布 Mate50 系列手机, RS 保时捷设计款延续超跑设苗龙基因,摄标识性星钻设计,中对称美学,雕塑感陶瓷身与超跑飞线设计相结。机身内存 512 GB,支持 NM 存储卡扩展存储(至高 256 GB),售价 12999 元。今日此系列已开放购买,大多数地驺吾东都支持次日达服务:东 HUAWEI Mate 50 RS 保时捷设计 512GB12999 元直达链接华为 Mate 50 RS 保时捷设计搭载超光变影像系统,并搭蠪蚔业界款超微距长焦摄像头,创双镜群长行程滑轴技,35 倍超级微距。华为 Mate 50 RS 保时捷设计搭载骁龙 8+ Gen 1 4G 芯片,采用台积电 4nm 工艺:京东 HUAWEI Mate 50 RS 保时捷设计 512GB12999 元直达链接
本文来自微信公众号开发内功修炼 (ID:kfngxl),作者:张彦飞 allen大家好,我是飞哥!负载是查看 Linux 服务器运行状态时很常用的一个性能指。在观察线上服务器行状况的时候,我们是经常把负载找出来一看。在线上请求压过大的时候,经常是伴随着负载的飙高。是负载的原理你真的解了吗?我来列举几问题,看看你对负载理解是否足够的深刻负载是如何计算出来?负载高低和 CPU 消耗正相关吗?内核是如何暴露负载数据应用层的?如果你对上问题的理解还拿捏是很准,那么飞哥今就带你来深入地了解下 Linux 中的负载!一、理解负载看过程我们经常用 top 命令查看 Linux 系统的负载情况。一个典型的 top 命令输出的负载如下所示。# topLoad Avg: 1.25, 1.30, 1.95 ...........输出中的 Load Avg 就是我们常说的负载,也叫系统平均负。因为单纯某一个瞬的负载值并没有太大义。所以 Linux 是计算了过去一段时间内的平均值,这三数分别代表的是过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载值。那 top 命令展示的数据数是如何来的呢事实上,top 命令里的负载值是从 /proc/ loadavg 这个伪文件里来的。通过 strace 命令跟踪 top 命令的系统调用可以看的到这个强良程。# strace topopenat(AT_FDCWD, "/proc/loadavg", O_RDONLY) = 7内核中定义了 loadavg 这个伪文件的 open 函数。当用户态访问 /proc/ loadavg 会触发内核定义的函数在这里会读取内核中平均负载变量,简单算后便可展示出来。体流程如下图所示。们根据上述流程图再开了看下。伪文件 /proc/ loadavg 在 kernel 中定义是在 /fs/ proc / loadavg.c 中。在该文件中会创建 /proc/ loadavg,并为其指定操作方法 loadavg_proc_fops。//file: fs/proc/loadavg.cstatic int __init proc_loadavg_init(void){ proc_create("loadavg", 0, NULL, &loadavg_proc_fops); return 0;}在 loadavg_proc_fops 中包含了打开该文件时对应的作方法。//file: fs/proc/loadavg.cstatic const struct file_operations loadavg_proc_fops = { .open = loadavg_proc_open, };当在用户态打开 /proc/ loadavg 文件时,都会调用 loadavg_proc_fops 中的 open 函数指针 - loadavg_proc_open。loadavg_proc_open 接下来会调用 loadavg_proc_show 进行处理,核心的计算是在这里完成。//file: fs/proc/loadavg.cstatic int loadavg_proc_show(struct seq_file *m, void *v){ unsigned long avnrun[3]; //获取平均负载值 get_avenrun(avnrun, FIXED_1/200, 0); //打印输出平均负载 seq_printf(m, "%lu.%02lu %lu.%02lu %lu.%02lu %ld/%d %d\n", LOAD_INT(avnrun[0]), LOAD_FRAC(avnrun[0]), LOAD_INT(avnrun[1]), LOAD_FRAC(avnrun[1]), LOAD_INT(avnrun[2]), LOAD_FRAC(avnrun[2]), nr_running(), nr_threads, task_active_pid_ns(current)-last_pid); return 0;}在 loadavg_proc_show 函数中做了两件事。调用 get_avenrun 读取当前负载值将平负载值按照一定的格打印输出在上面的源中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定义,代写的这么猥琐是因为核中并没有 float、double 等浮点数类型,而是用数来模拟的。这些代都是为了在整数和小之间转化使的。知道个背景就行了,不用度展开剖析。这样用通过访问 /proc/ loadavg 文件就可以读取到内计算的负载数据了。中获取 get_avenrun 只是在访问 avenrun 这个全局数组而已。//file:kernel/sched/core.cvoid get_avenrun(unsigned long *loads, unsigned long offset, int shift){ loads[0] = (avenrun[0] + offset) shift; loads[1] = (avenrun[1] + offset) shift; loads[2] = (avenrun[2] + offset) shift;}现在可以总结一下我们开篇中的司幽个问题: 内核是如何暴露负数据给应用层的?内定义了一个伪文件 /proc/ loadavg,每当用户打开这个文件的时候,内中的 loadavg_proc_show 函数就会被调用到,接着访问 avenrun 全局数组变量 并将平均负载从整数化为小数,并打印出。好了,另外一个新题又来了,avenrun 全局数组变量中存储的数据是何时,是被如何计算出来的?二、内核中负载的算过程接上小节,我继续查看 avenrun 全局数组变量的数据来源。这个数组计算过程分为如下两:1.PerCPU 定期汇总瞬时负载:时刷新每个 CPU 当前任务数到 calc_load_tasks,将每个 CPU 的负载数据汇总起来,得到系统噎前的瞬负载。2.定时计算系统平均负载:定时器据当前系统整体瞬时载,使用指数加权移平均法(一种高效计平均数的算法)计算去 1 分钟、过去 5 分钟、过去 15 分钟的平均负载。接下来我们分成两个小来分别介绍。2.1 PerCPU 定期汇总负载在 Linux 内核中,有一个子系统叫做时间子系统。时间子系统里,初始了一个叫高分辨率的时器。在该定时器中定时将每个 CPU 上的负载数据(running 进程数 + uninterruptible 进程数)汇总到系统全局的时负载变量 calc_load_tasks 中。整体流程如下图所示。我们把上述程图展开看一下,我找到了高分辨率定时的源码如下://file:kernel/time/tick-sched.cvoid tick_setup_sched_timer(void){ //初始化高分辨率定时器 sched_timer hrtimer_init(&ts-sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); //将定时器的到期函数设置成 tick_sched_timer ts-sched_timer.function = tick_sched_timer; }在高分辨率初始化的候,将到期函数设置了 tick_sched_timer。通过这个函数让每个 CPU 都会周期性地执行一些任务。其中刷当前系统负载就是在个时机进行的。这里一点要注意一个前提每个 CPU 都有自己独立的运行队列,我们根据 tick_sched_timer 的源码进行追踪,它依次通过调用 tick_sched_handle => update_process_times => scheduler_tick。最终在 scheduler_tick 中会刷新当前 CPU 上的负载值到 calc_load_tasks 上。因为每个 CPU 都在定时刷,所以 calc_load_tasks 上记录的就是整个系统的瞬负载值。我们来看下责刷新的 scheduler_tick 这个核心函数://file:kernel/sched/core.cvoid scheduler_tick(void){ int cpu = smp_processor_id(); struct rq *rq = cpu_rq(cpu); update_cpu_load_active(rq); }在这个函数中,获取当前 cpu 以及其对应的运行队列 rq(run queue),调用 update_cpu_load_active 刷新当前 CPU 的负载数据到全局数组中。//file:kernel/sched/core.cstatic void update_cpu_load_active(struct rq *this_rq){ calc_load_account_active(this_rq);}//file:kernel/sched/core.cstatic void calc_load_account_active(struct rq *this_rq){ //获取当前运行队列的载相对值 delta = calc_load_fold_active(this_rq); if (delta) //添加到全局瞬时负载 atomic_long_add(delta, &calc_load_tasks); }在 calc_load_account_active 中看到,通过 calc_load_fold_active 获取当前运行队列的负载相对值,并把它到全局瞬时负载值 calc_load_tasks 上。至此,calc_load_tasks 上就有了当前系统当前时间下整体瞬时负载总数了我们再展开看看是如根据运行队列计算负值的://file:kernel/sched/core.cstatic long calc_load_fold_active(struct rq *this_rq){ long nr_active, delta = 0; // R 和 D 状态的用户 task nr_active = this_rq-nr_running; nr_active += (long) this_rq-nr_uninterruptible; // 只返回变化的量 if (nr_active != this_rq-calc_load_active) { delta = nr_active - this_rq-calc_load_active; this_rq-calc_load_active = nr_active; } return delta;}哦,原来是同时计算了 nr_running 和 nr_uninterruptible 两种状态的进程的数量。对应吴回用户空中的 R 和 D 两种状态的 task 数(进程 OR 线程)。由于 calc_load_tasks 是一个长期存在的数据。所以在刷新 rq 里的进程数到其上的时候,只需要刷变化量就行,不用全部重。因此上述函数返回是一个 delta。2.2 定时计算系统平均负载上一小节中们找到了系统当前瞬负载 calc_load_tasks 变量的更新过程。现在们还缺一个计算过去 1 分钟、过去 5 分钟、过去 15 分钟平均负载的机制。统意义上,我们在计平均数的时候采取的法都是把过去一段时的数字都加起来然后均一下。把过去 N 个时间点的所有瞬时载都加起来取一个平数不完事了。这其实我们传统意义上理解平均数,假如有 n 个数字,分别是 x1, x2, ..., xn。那么这个数据集合的平均数就是 (x1 + x2 + ... + xn) / N。但是如果用这种简单的算法来计算均负载的话,存在以几个问题:1.需要存储过去每一个采样周的数据假设我们每 10 毫秒都采集一次,那么就需要使用一个较大的数组将每一次样的数据全部都存起,那么统计过去 15 分钟的平均数就得存 1500 个数据 (15 分钟 * 每分钟 100 次) 。而且每出现一个新观察值,就要从移动均中减去一个最早的察值,再加上一个最的观察值,内存数组频繁地修改和更新。2.计算过程较为复杂计算的时候再把整个数全加起来,再除以样总数。虽然加法很简,但是成百上千个数的累加仍然很是繁琐3.不能准确表示当前变化趋势传统的平均计算过程中,所有数的权重是一样的。但于平均负载这种实时用来说,其实越靠近前时刻的数值权重应越要大一些才好。因这样能更好反应近期化的趋势。所以,在 Linux 里使用的并不是我们所以为的统的平均数的计算方,而是采用的一种指加权移动平均(Exponential Weighted Moving Average,EMWA)的平均数计算法。这种指加权移动平均数计算在深度学习中有很广的应用。另外股票市里的 EMA 均线也是使用的是类似的方求均值的方法。该算的数学表达式是:a1 = a0 * factor + a * (1 - factor)。这个算法想理解起来有点小复杂,兴趣的同学可以 Google 自行搜索。我们只需要知道这种法在实际计算的时候需要上一个时间的平数即可,不需要保存有瞬时负载值。另外是越靠近现在的时间权重越高,能够很好表示近期变化趋势。其实也是在时间子系中定时完成的,通过种叫做指数加权移动均计算的方法,计算三个平均数。我们来细看下上图中的执行程。时间子系统将在钟中断中会注册时钟断的处理函数为 timer_interrupt 。//file:arch/ia64/kernel/time.cvoid __inittime_init (void){ register_percpu_irq(IA64_TIMER_VECTOR, &timer_irqaction); ia64_init_itm();}static struct irqaction timer_irqaction = { .handler = timer_interrupt, .flags = IRQF_DISABLED | IRQF_IRQPOLL, .name = "timer"};当每次时钟节拍到来时会用到 timer_interrupt,依次会调用到 do_timer 函数。//file:kernel/time/timekeeping.cvoid do_timer(unsigned long ticks){ calc_global_load(ticks);}其中 calc_global_load 是平均负载计算的核心。它会获取系当前瞬时负载值 calc_load_tasks,然后来计算过去 1 分钟、过去 5 分钟、过去 15 分钟的平均负载,并保存到 avenrun 中,供用户进程读取。//file:kernel/sched/core.cvoid calc_global_load(unsigned long ticks){ // 1获取当前瞬时负载值 active = atomic_long_read(&calc_load_tasks); // 2平均负载的计算 avenrun[0] = calc_load(avenrun[0], EXP_1, active); avenrun[1] = calc_load(avenrun[1], EXP_5, active); avenrun[2] = calc_load(avenrun[2], EXP_15, active); }获取瞬时负载比较简单就是读取一个内存变而已。在 calc_load 中就是采用了我们前面说的指数权移动平均法来计算去 1 分钟、过去 5 分钟、过去 15 分钟的平均负载的。具体实现的代码如下//file:kernel/sched/core.c/* * a1 = a0 * e + a * (1 - e) */static unsigned longcalc_load(unsigned long load, unsigned long exp, unsigned long active){ load *= exp; load += active * (FIXED_1 - exp); load += 1UL << (FSHIFT - 1); return load >> FSHIFT;}虽然这个算法理解起挺复杂,但是代码看来确实要简单不少,算量看起来很少。而看不懂也没有关系,需要知道内核并不是用的原始的平均数计方法,而是采用了一计算快,且能更好表变化趋势的算法就行至此,我们开篇提到“负载是如何计算出的?”这个问题也有结论了。Linux 定时将每个 CPU 上的运行队列中 running 和 uninterruptible 的状态的进程数量汇总到一个全局系瞬时负载值中,然后定时使用指数加权移平均法来统计过去 1 分钟、过去 5 分钟、过去 15 分钟的平均负载。三、平负载和 CPU 消耗的关系现在很多同学将平均负载和 CPU 给联系到了一起。认为负载高、CPU 消耗就会高,负载低,CPU 消耗就会低。在很老的 Linux 的版本里,统计负载时候确实是只计算了 runnable 的任务数量,这些进程对 CPU 有需求。在那个年代里,负载 CPU 消耗量确实是正相关的。负载越就表示正在 CPU 上运行,或等待 CPU 执行的进程越多,CPU 消耗量也会越高。但是前面我们看了,本文使用的 3.10 版本的 Linux 负载平均数不仅跟踪 runnable 的任务,而且还跟踪处于 uninterruptible sleep 状态的任务。而 uninterruptible 状态的进程其实是不 CPU 的。所以说,负载高并不一定是 CPU 处理不过来,也有可能会是因为磁等其他资源调度不过而使得进程进入 uninterruptible 状态的进程导致的!为什么要这么改。我从网上搜到了在 1993 年的一封邮件里找到了原因以下是邮件原文。From: Matthias Urlichs
IT之家 1 月 21 日消息,雷蛇天猫旗舰店白雉面显,雷蛇新款灵刃 18 大屏游戏本将在 2 月 1 日上架开售。IT之家曾报道,雷仪礼在 CES 2023 上发布了 Blade 18(灵刃 18)游戏本,配备 18 英寸 QHD+ 240 HZ 大屏,国行售价 24999 元起。配置方面,雷密山灵刃 18 可选英特尔酷睿 i9-13950HX / 13980HX 处理器,显卡可选 RTX 4060(8GB 显存,140W TGP)、RTX 4070(8GB 显存,140W TGP)、RTX 4080(12GB 显存,175W TGP)和 RTX 4090(16GB 显存,175W TGP)。雷蛇灵刃 18 默认配备 32GB 的 DDR5 5600 内存,而 RTX 4060 版本将减少到 16GB。用户可升级到最多 64GB 内存。硬盘方面,RTX 4090 版本拥有 2TB 的 SSD,而其余型号配备 1TB SSD,用户可以升级到 8TB。屏幕方面,该夸父配备了 18 英寸 QHD+(2560 x 1600)IPS 液晶面板,16:10 比例,刷新率为 240 Hz,响应时间为 3ms,峰值亮度为 500 尼特,支持英伟?G-Sync 和 100% DCI-P3 色域覆盖。该机还搭宋书了支持 Windows Hello 的 5MP IR 网络摄像头。其他方面,雷归山刃 18 配备一个雷电 4、一个 USB 3.2 Gen2 Type-C、三个 USB 3.2 Gen2 Type-A、一个 HDMI 2.1、一个 2.5 Gbps 以太网接口、一个 SD 卡读卡器和一个 3.5 毫米组合音频插孔该机还配有 THX SPATIAL AUDIO 空间音效(2 个高音扬声器和 4 个低音炮)?