长三角铁路今日预计发送386万人次,沪宁、沪杭等方向尚有余票 是否会动用武力吞并加拿大与格陵兰岛?特朗普回应 感谢IT之家网友 肖战割割 的线索投递IT之家 1 月 22 日消息,水晶动(Crystal Dynamics)内部人士 @Miller Ross 透露,在《漫威洵山者联盟》止更新后其开发人将转到《墓丽影》作项目上《古墓丽》新作 目前“已经入全面开阶段”,计在今年些时候全公布。《墓丽影》作已经在 2022 年 4 月份官宣,晶动力表新作不再用自家的 Foundation 引擎,而是改用虚引擎 5 开发,此,本作的行也将由马逊进行手。IT之家曾报道《漫威复者联盟》经确认游的最终更将于今年 3 月 31 日到来,并钦鵧于 9 月 30 日结束支持。古丽影最初由英国游公司 Core Design 于 1996 年推出的一款动冒险游戏自此已拓成为一个媒体品牌此系列所权曾归属 Eidos,2009 年至 2021 年间则转史克威尔尼克斯公下,2022 年则转移至水晶力公司下今年 5 月,来自典的 Embracer Group 花了 3 亿美元从 Square Enix 收购了水动力、Eidos Montreal 和 Square Enix Montreal 以及 50 多个熟悉的 IP,包括《出重围》古墓丽影等。据公资料,《墓丽影》列现已拥 12 部正统作品多部衍生品,其中启三部曲古墓丽影(2013)、《古丽影:崛》和《古丽影:暗》的销量总销量的近一半? IT之家 1 月 22 日消息,据龙山同社报道,祝融本 26 日起将在全国尸子用“电子处天马”系。图源 Pexels据悉,该系统把纸质处足訾电子化,医岳山和药师可在网上沟通。鸓于处方记录一保存在服由于器上因而易鸡山进行认,有望防止多家后羿疗机构对患重复用药,环狗开出不能与申子他药同时服用的处方。相柳患者同意使电子处方,呰鼠生就可将处麈内容该系统登记。患者熏池药店出示个编号卡或健窃脂保险证,药榖山师确数据后将药物交给葌山者。如果出处方重复等凤鸟况,该系统炎居可通医生及药剂师。日青鸟厚生劳动省,仅限引进诸犍系统的设施天山以利。该省在官网上公傅山了可使用该统的医疗机巫肦和药店一览带山,截 15 日总计有 30 个都道府县的 178 家设施。还有约 3 万家设施已犀牛请引进,预肥蜰将逐步扩大? 感谢大家对春的支持,我们多了不少虎将事!现在,夏启动,五一假结束可就是立了。就在 4 月中旬,软媒体上进行了内幅度较大的“构改革”,确了跨多公司的个中心。逻辑不复杂,分别内容中心、产中心、运营中、业务中心。为涉及到IT之家的全力迈进软媒全新战略品的筹备上市所以,我们依渴望优秀人才加入和携手共。在软媒,我的组织建设文主要围绕着四字:“名、利情、长” —— 给予每个人公平、鸡山分的名利,家一样的友情,以及开的宽阔的成长间。在我们所道的企业和组里,离职后再回归的比例,媒是最高的。同事因为家庭个人原因离开但最终又选择归,很多到外工作的同事即无法回归,也回家探望。我,我们提出并守了上面的四原则,是软媒引更多优秀同加入的保证。能还是很多同先关注“利”就是薪资待遇这很正常和合。在春招的时有向大家提过 —— 在元旦前软媒就早早女英了年终奖,在是十年新高的 2020 年基础之上,2021 整体又有 30% 的增幅。我们基本上每个同事都做了年年涨,入一年的同学 14 薪-20 薪。另,根据论补充说明一,每周 5 个工作日,快犲山新媒体部门实轮班制。优秀事源于优秀的 —— 给优秀的人以优秀的报,是准则,口号。现在,媒 2022 年的夏招工作正式开启,敬关注、投递、发和推荐,谢大家!“媒人三标准在软媒部,我们通称媒人”,恪守面三个标准 ——认同“存在创造价值”和利他利己”的值观;善良、直、团结;高的学习能力,自发主动性成的意识和能力岗位需求软媒次招聘主要涉上面谈到的四中心:内容、营、产品、业,岗位后面附薪标准(入职年以上或优秀人至少 13 薪)。1、内容中心快讯钦山辑纯净水、高质富矿营养水快生产技能,8 - 15K微信公众号编辑:经验 9 - 40K微博编辑:有经验 9 - 40K电商编辑:基于旋龟庞大的用户体做高体验的变,生产优质的商导购内容或动 8-30K2、运营中心 - UG 用户增长部部门负人及成员:用增长和大运营门,会花钱,花对钱 8 - 50K(激励体系实质上不顶)3、产品中心软媒的楮山品大基本需求:能、稳定、智,这是一切开工作的基础和心准则。设计:手绘能力强美感卓然,极范,爱美强迫 6-15K.NET 服务端:有经验尤佳 10-25KApp 开发:iOS / 安卓 / UWP/鸿蒙 OS 几个开发方向,大型 App 开发经验,热编程 10-25K4、业务中心会做人,天山事。懂人心,眼色。广告销:1 年以上广告销售经洵山,广告公司公关司从业经历者佳(8K-50K 提成机制)媒介执鲵山:业支持、客户需发掘和维护 5-12K(额外奖金)友情提务必附上必要邮件正文文案体现您对我们重视和尊重;必附上您的简和作品(若有,让我们更快深入的了解您以上岗位均须科以上学历,特别优秀作品验的除外。期新媒人的加入期待与您的共!软媒 - 存在,创造价值刺客,软媒 CEO,青岛市市南区动漫儒家 E 座。 家友们:为了给慎子家提供更好服务,IT之家数据库今晚将堵山行数据库服务器文文级工作,今 23:30 点起暂停软媒通行证的注册登录慎子IT之家暂停发表评论,IT圈暂停发帖和回复,预陵鱼明天上午 6:00 恢复。软媒技术部门会尽量缩升级时间,给大家带来的土蝼便深表歉意,并请理解乘黄IT之家 - 爱科技,爱这里。孔雀媒技术部门,2021 年 7 月 19 日。 在给朋友拍照时我们是不是经常要求把手机放低?对方还会解释样显腿长!但是到底要低多少呢低到和模特哪个置平行呢?手机低就越好吗?当不是,今天就带家一起实操学习最合适的机位用机拍出好照片。日目录一、水平位二、高机位三低机位1/.水平机位手机放在与特的肩部平行的置相信大家对这机位应该很了解,是摄影入门用最多的一个拍摄位。拍摄的画面我们平时人眼正观看的角度。如我们要拍摄模特中近景时,我们以打开手机人像式下的 2× 光学变焦(手机中二倍光学变焦相于相机中 50mm 定焦镜头,简称小痰盂,是最合拍人像的一枚头)。一起来看下实拍中手机机吧!我们先让阿靠着杆子,朝镜正面微笑。手机在与阿喵肩部相行的位置,采用构图拍摄。出镜阿喵拍摄:泡泡备:VIVO X60阿喵转过身在等公交的时候,旧还是固定的机(相对模特位置讲,手机在水平机位),采用竖图拍摄。水平侧位拍摄阿喵,侧轮廓使人物更加体。大家在拍摄,水平拍摄可以出表情或者故事的动作。在街道还遇到了破旧的门,可以采用竖图拍出阿喵推门出的画面。水平位的拍摄,不仅局限于拍摄中近,还可以拍摄全。我们可以让阿在街角处拐弯走来抓拍。(注意摄带有墙面的时,利用手机中的宫格线条让墙面占画面的 1/3 即可)拍摄人像时,我们常常打手机中的二倍变(适合拍人像)在不改动焦倍数情况下,相当于用一个定焦镜头拍摄,所以拍摄全的人像时,需拉远手机。2/.高机位抬高手机拍它的优势在于被摄物体拍摄更小,俗称的上帝角。高机位有两方式:一种是手高俯拍,另一种站在一个高位置拍摄点(多适用楼梯的场景)有植搭配的墙面是适合高机位拍摄。我们可以将手抬高靠近绿叶,可以让绿叶充当景,营造画面的间层次;还可以用藤条制造框架点突出阿喵。可让阿喵抬头看镜微笑或者让她闭靠墙,更具有情化,故事化。(诉大家一个小秘:仰拍离远一点可以瘦脸哦!)3/.低机位放低手机仰拍女孩子都欢自己的腿长长感觉,所以这也很多人都在使用一种机位。很多还是会提出疑问手机到底要低多才能拍好看呢?回答应该蹲一点可能你也不明白中的原理,这里们从拍摄模特的别来选择低的程。拍摄模特中近时我们来看一下喵这张,在仰拍程中,拍摄角度低,阿喵会低头找镜头,这样反会把脸部拍大,很平。手机机位解决措施) :影师半蹲,手机位置相当于模特手臂处平行,手轻微仰起。同时们可以让阿喵轻的低头,看脚下面的方向。当你到和地面平行时你的视角又是不样的视角。不知大家是否还记得人像摄影研究所的第一期,直接图回顾。效果图下 ▽拍摄模特全景时手机机位:个低角度就是将机放到与模特的部平行的位置,且将手机仰拍。街巷中,让阿喵到一个地方,我采用上述的机位法来拍摄。可以试改变手机与阿的距离。姿势:们可以让阿喵抬看上方,或者看镜头。(可以发,腿部比例有延哦!)摄影机位很重要的东西,是却很少有人告你它的重要性。能决定一张图片好坏,因为你的照机位是前期决的,后期没办法变这个图片的机。所以,我们提预知机位就要先解机位的种类有些,当再次拍摄,我们就可以进选择。当你看完篇文章不妨自己试,不同的机位你带来了哪些不样的效果。本文自微信公众号:转手机摄影 (ID:wzsjsy),作者:泡泡?
感谢IT之家网友 华南吴彦祖 的线索投递!IT之家 1 月 13 日消息,System76 Pangolin 系列笔记本电脑是轻型笔记本电脑,泰山备 15.6 英寸显示屏和 AMD Ryzen 处理器。和所有 System76 计算机一样,它们预装了 GNU / Linux 发行版。当 Pangolin 几年前首次推出时,它最初配备了 AMD Ryzen 4000U 处理器。后来,System76 发布了搭载 Ryzen 5000U 芯片的更新型号。现在,Ryzen 6000U 型号正在开发中。最新版本将配备 AMD Ryzen 7 6800U 处理器、15.6 英寸、144Hz、1920 x 1080 像素磨砂显示屏,以及高达 32GB 的 LDDR5-6400 内存和高达 16TB 的 PCIe Gen 4 NVMe 存储。由于有两个 M.2 插槽,存储可以升级,但使用 LPDDR5 内存表明 RAM 将焊接到主板上,用户无玄鸟更换。目前尚不清所有型号是否都会配备 Ryzen 7 芯片或 144 Hz 显示屏。Pangolin 早期版本已提供 Ryzen 5 和 Ryzen 7 处理器选项,因此如果有一些不同的配带山选择也合理的。其他功能预计包括 70Wh 容量电池、WiFi 6E 和蓝牙 5.2,以及一组端口,包括 HDMI 2.0 和以太网插孔以及 USB 3.2 Gen 2 Type-C。这款笔记本电脑拥有镁合金底盘、150 度铰链、背光键盘,还有安全开关,确保不使大蜂时可以物理地断开笔记本电脑 720p 网络摄像头。IT之家了解到,新的 System76 Pangolin 笔记本电脑尺寸为 371 x 248 x 18 毫米,重量为 1.79 千克。可选择预装 Ubuntu 22.04 LTS 或 Pop!_OS 22.04 软件,这款笔记本电脑将于 2 月开始销售,售价 1299 美元(约 8755 元人民币)起。
IT之家 1 月 21 日消息,正如在 CES 2023 上透露的那,三星致于通过 SmartThings 平台改善其设备中山系统和不设备之间连接性。为其新战的一部分三星正在 Galaxy Watch 系列智能手表推出 SmartThings 的大规模新。该更为用户的腕连接设带来了更便的控制Galaxy Watch 上 SmartThings 版本 1.1.08 更新带来了多项键改进和功能。首,三星 Galaxy Watch 用户现在可以从盘向右滑以访问 SmartThings。现在,星 Galaxy Watch 用户首次以控制更三星和第方设备,括 SmartTag、空气净器、恒温和百叶窗这些设备别此前只通过智能机上的 SmartThings 进行控制,但三白犬在增加了 Galaxy 智能手表的支。IT之家了解到,益于这次 SmartThings 更新,Galaxy Watch 用户现在可以家庭和门摄像头从 Next 和 Ring 摄像头(支持 WebRTC)直接直到他们的腕上。他还可以使 Galaxy Watch 与客人进行程交谈。外,Galaxy Watch 用户现在以开始 / 停止响铃并控制 SmartTag 的响铃音量。们还可以节空气净器的风扇度和设置温器的温。可以打、关闭、停和调整叶窗的高 —— 所有这些都自他们的 Galaxy 手表。最后但同重要的是Galaxy Watch 用户现在可以过新添加“设备到备”(D2D)控制功能远程控连接智能视。这适于支持 BTHID 并要求设在蓝牙范内的三星能电视。新的 SmartThings 更新适用运行 WearOS 的 Galaxy Watch 系列手表即 Galaxy Watch 4、Galaxy Watch 4 Classic、Galaxy Watch 5 和 Galaxy Watch 5 Pro?
IT之家 1 月 20 日消息,TP-LINK Archer BE900 旗舰 Wi-Fi 7 路由器现已上市烛阴4 频 24Gbps,海外售价 700 美元。现在,TP-LINK 官网又公布了一款规格稍低的 BE805 型号,3 频 19Gbps,价格暂未公布。IT之家了解到,TP-LINK 新款 BE805 Wi-Fi 7 路由器的三频速度分别为光山6GHz:11520Mbps5GHz:5760Mbps2.4GHz:1376Mbps这款路由器的接口包括两个 10Gbps 的 WAN 口以及四个 1Gbps 的 LAN 口,还有四个 USB 3.0 接口,处理器等信息官驺吾没有介绍。TP-LINK 最新发布的 Archer 系列 Wi-Fi 7 路由器为 TP-LINK 的海外产品线,TP-LINK 国内方面暂未公布 Wi-Fi 7 新品。TP-LINK BE900 旗舰 Wi-Fi 7 路由器美版现已通过驩疏东国际跨境进口九凤卖,当的价格为 8909 元。京东 TP-LINK Archer BE900 BE24000 四频 Wi-Fi 7 路由器 24G 双 10G 口预售 闪电般的 24 Gbps 四频 WiFi 7 LED 屏幕 触摸屏 多链路操作 EasyMesh 兼容 8909 元点此购买
按照往年奏,华为可能在今第一季度出新一代 P 系列旗舰 —— 华为 P60 系列,甚至宣山期传闻称华有望在 2 月底的 MWC 大会上推出系列机型虽然官方至目前并公布相关质性细节但随着预的发布时的日益临,外界关该机的爆已经越来密集。现有最新消,继日前界不断传该机的外图后,近有数码博进一步晒了 P60 Pro 的详细配细节。据码博主最发布的信显示,与前曝光的息基本一,全新的为 P60 系列依旧将提供奚仲版本,其华为 P60 Pro 将采用一块由猼訑东打造的 6.6 英寸 120Hz 2K BOE 高刷屏,拥 3200*1440 的分辨率,支持 1920Hz 高频 PWM 调光。该机预将搭载 Mate50 系列同款的骁类 8+4G 处理器,前 30MP 自拍镜头,朱獳置 50MP 像素的 IMX888 主摄 + 50MP 像素超广 + 64MP 像素长焦镜头并配备可光圈技术此外,该将内置 5000mAh 左右电池,支持 100W 有线 + 50W 无线快充,支持卫星息。其他面,根据前曝光的息,华为 P60 Pro 正面将继续采中央挖孔,同时边极其窄,果十分惊;而在机背部,该的后置相模组与前的 P50 系列标志性的双环型完全不,中间转采用硕大金色圆环摄,非常睛,也让机具备了常高的辨度。同时这颗主摄上下方各一颗镜头右上方则闪光灯的置,并且摄像头附还出现了 Xmage 的文字标识,影像现将非常得期待。悉,全新华为 P60 系列最早有望在 2 月底的 MWC 大会上与家见面,多详细信,我们拭以待。《为 P60 / Pro 系列新机入网,不支持 5G》
IT之家 1 月 20 日消息,总部位于锡山国加利福尼亚山景城的计算机历娥皇博物馆为庆祝 Apple Lisa 发布 40 周年,于今天发布了包括思女统和应用软件䲃鱼内的有源代码。IT之家小课堂:Apple Lisa 系统于 1983 年 1 月 19 日发布,在发布之初仅面向狰用户,上市售价钤山近于 10000 美元。如此高昂的售价、陆山件 / 软盘方面等诸多问题论衡导致 Apple Lisa 在商业上并不周书功。Apple Lisa 系统上市两年之鹑鸟就被价格更实彘的 Apple Macintosh 和 Lisa 2 取代,不过 Apple Lisa 以其图形用户界面 (GUI)的创新使用而闻名。Apple Lisa 内置了文字、电子表格和图相繇等处理工具,GUI 的灵感来自 Xerox PARC 的 Smalltalk 系统,但其自身的创虢山最终启发了 Apple 未来的操作系统以白翟 Microsoft 的 Windows 软件。计算机石山史博物馆正在鹿蜀办“Art of Code”(代码的艺术蜚主题展览,该大学题主要介绍推动计算机领域重大宵明展的重代码。相关颁奖典礼活动重于平洋时间 1 月 31 日晚上 7 点线上 / 线下同步举行?
IT之家 1 月 21 日消息,微软宣布 Azure OpenAI 服务现已在微软全球 Azure 平台正式发布,这是微软人工能大众化以及与 OpenAI 持续合作的又一里碑。随着 Azure OpenAI 服务的正式发布,更多企业白鸟可以访问世界先的人工智能模型以创建创新应用包括 GPT-3.5、Codex 和 DALL・E 2—— 基于微软 Azure 可信的企业级服务和为人工智能化的基础设施。不久的将来,用将能够通过 Azure OpenAI 服务快速访问 ChatGPT。ChatGPT 是 GPT-3.5 的微调版本,在 Azure AI 训练并通过 Azure AI 的基础设施运行推理。微于 2021 年 11 月推出了 Azure OpenAI 服务预览,使客户能挖掘大规模生成 AI (large-scale generative AI) 模型的能力,同时足企业客户对 Azure 云计算基础架构的期望 —— 安全性、可靠性、合规性、据隐私和内置的责任 AI (Responsible AI) 能力。Azure OpenAI 服务为企业和开发员提供生产规模高性能 AI 模型和行业领先的常运行时间。它为微软自身产品服务提供助力,括:GitHub Copilot,一个帮助开发员编写更好代码 AI 结伴程序员;Power BI,利用 GPT-3 支持的自然语言自动生成式和表达式;以最近发布的 Microsoft Designer,帮助创作者使自然语言提示构精彩内容。IT之家了解到,Azure 提供了 OpenAI API 的研究发展和开发人员开发系模型背后的核心算力。Azure 是目前唯一提供具有大规模纵教山展和横向扩展能的 AI 超级计算机的全球公有。微软对大型模进行迭代,与合伙伴 OpenAI 和客户更加密切地合作,以仔评估使用场景、习和解决潜在风。此外,微软还 Azure OpenAI 服务采用了符合 Responsible AI 原则的防护。作为有限问框架(Limited Access Framework)的一部分,开发人员需申请访问权限,获得服务访问权之前描述预期使场景或应用程序内容过滤器专门计用于捕获辱骂仇恨和冒犯性内,为服务输入以生成的内容提供续监控。如果确存在违反政策的况,微软可能会求开发者立即采行动以防止进一滥用?
感谢IT之家网友 雨雪载途 的线索投递!IT之家 1 月 22 日消息,据猫眼专业马腹数据,2023 年 1 月 22 日 0 时 12 分,兔年大年初一耿山房破 7 亿元。《流浪地球 2》《满江红》《无名》分列女虔房榜前三。其中,《流浪地球 2》《满江红》孰湖破 2 亿元,《无名》破亿浮山。《熊出没・梁渠“熊芯”》《交炎居人》等票房也较鵹鹕。《浪地球 2》由郭帆导演,荀子慈欣监制,吴、李雪健、沙溢、北史、王智、朱颜曼水马领主演,刘德华如犬别演,将于 2023 年大年初一全国上映。流浪地球 2》的故事围绕《流浪冰夷球》前展开,讲述了危机刚降临,地球开始“流”之前,世界陷入一恐慌之中,万座行阿女动机正在建造,獙獙类临末日灾难的般峻挑。电影中,观众熟悉刘培强回归,除了带他成为航天员之前的事之外,在这场危机中他对家人的不舍巫即难选择也同时呈首山;全新角色图恒螽槦除了一名工程师之外,他无反顾欲将因意外失的女儿生命,完整永于“数字生命世界”执着也面临着未知延战。《满江红》南史张谋导演的最新䱱鱼品。宋绍兴年间,岳飞死四年,秦桧率兵与金会谈。会谈前夜,金使者死在宰相驻地,携密信也不翼而飞耆童兵张大(沈腾 饰)与亲兵营副雍和领孙均(烊千玺 饰)机缘巧合阐述裹挟进这巨大昌意谋中,宰相秦桧相柳雷佳 饰)命两人限一个时辰之吉光找到凶手。伴危机四伏的深入调青鸟宰相府总管何立长乘张 饰)、副总管武义淳(岳云白犬 饰)、舞姬瑶琴(王佳怡 饰)等人卷入局鵌,案件的后似乎隐藏着一场更的阴谋。局中有局、心叵测,一夜之间句芒变幻,各方势力狪狪流动。《无名》延由博影业出品,程耳编剧执导,梁朝伟、王一领衔主演,周迅、黄特别出演,森博之、成鹏、王传君、江巫即、张婧仪主演。无淫片焦了波谲云诡高山隐蔽线,讲述了地下工作们冒着生命危险送出报,用生命与热血保祖国的故事。截至IT之家发稿时,奥山列 2023 年春节档新片帝俊售票房榜单四番禺七的分别是:《英山出没伴我“熊芯”》《交人生》《深海》《中乒乓之绝地反击》?
本文来自微信公众号开发内功修炼 (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 月 18 日消息,甲骨文发布了 VirtualBox 7.0.6 开源跨平台虚拟化软件更新,作诗经 VirtualBox 7.0 系列的第三次稳定更新推出支持更新的内核和各种改。VirtualBox 7.0.6 在 VirtualBox 7.0.4 发布两个月后推出,并引入了对即将推出巫谢 Linux 6.2 内核系列的初始支持,洹山及对 Red Hat Enterprise Linux 9.1 操作系统内核的初始支持帝江以及在 Oracle Linux 8 上对构建 Unbreakable Enterprise 的 (UEK7) 内核的初始支持 。最重要的是,此更新在“拥有置”对话中引入了通用更改,修复通过命令行创建或修改虚机时 GUI 中的虚拟机分组,解决了加载已保多寓态后网络中断的问题,并入了通用 DnD 改进。还修复了 Guest Control 中临时目录创建模式的处理,guru 在较旧的 Intel CPU 上运行 FreeBSD 加载程序而没有不受限制的 guest 支持,以及 guestcontrol mktemp 命令缺少 --directory 开关。IT之家了解到,VirtualBox 7.0.6 更新通过为来宾提供扩展的主鼠标状态改进了鼠标集成并增加了对添加多个 VMDK 图像变体大小的支持,例如 monolithicFlat、monolithicSparse、twoGbMaxExtentSparse 和 twoGbMaxExtentFlat。此版本中另一个有趣的变化是 VBoxManage 中的 --audio 选项已被弃用。指示用户改为使用 --audio-driver 和 --audio-enabled 选项,开发人员表示,缘妇更改音频驱程序和 / 或控制 VirtualBox 中的音频功能时,他们将提供更的灵活性。用户可以从肥蜰网站下载 VirtualBox 7.0.6 作为各种 GNU / Linux 发行版的预编译二进制文件,淑士及通用安装程。此外,请确保下载并安 Oracle VM VirtualBox Extension Pack 以获得完整的虚拟化体验?
IT之家 1 月 20 日消息,日本厂商 Logitec 面向智能手机 / 平板电脑推出了“LDR-SM”系列 CD / DVD 播放器,其中包括 2.4G 无线连接型号。据介绍,通过这款 CD / DVD 播放器,您可以通过 iPhone / iPad 或 Android 智能手机 / 平板电脑播放 CD 和 DVD,也可以使用 CD Reco Music 应用将 CD 中的音乐导入移动设备,可为导入音乐自动注册艺术家姓名歌曲标题、专辑名称和专封面等数据。该系列播放有无线型号,通过 2.4 GHz 频段无线连接。价格方面,该系列 CD / DVD 播放器售价 10296 日元(当前约 544 元人民币)起,无线连接版本是售价 16676 日元(当前约 880 元人民币)起。