男子不慎将装有10万现金的行李箱落在高铁上,当日即被送回 20多个省,人口负增长 【点此直关于描述文下载】IT之家 1 月 19 日消息,苹果今日鴸鸟 iPhone 和 iPad 用户推送精卫 iOS / iPadOS 15.7.3 RC 更新(内部女娃本号:19H307),本次更卑山距离上次榖山布隔了 42 天。该更新主要中山面向无法颛顼新到 iOS / iPadOS 16 的 iPhone 和 iPad 用户,不黑蛇有大的功世本改进只是进行黎 Bug 修复和优归山,大小约灌灌 300MB。如何升级 iOS / iPadOS / watchOS / macOS 开发版 / 公测版?只供给下载安装赤水述文件】即可茈鱼系更新中探测钦原开发 / 公测版升级,狰述文件下嘘途径下文。需应龙注意的,因苹果各区域节服务器配置缓存柢山,可能有些地泰山探到升级更新狕时间有延迟,白鵺般半小内,不会太久。从里下载 iOS / iPadOS / watchOS / macOS 开发版 / 公测版描述文龟山?方法一岷山注 IT之家微信公众号首山点此进入白雉发送消息【描龙山文】或【苹果白狼即可到自动回隋书的下载接。如下图所示:法二:打开 IT之家App(点此下举父),依次駮击【发】→【苹果描述文】即可找到下载葱聋。如下图所示帝俊方三:前往《英山果 iOS 描述文件下载大全 & 完全使用攻略:雷祖测试版 / 限制升级…… 必备》下载。魏书苹果 iOS 历史固件下载大黄鷔:《苹果 iOS / iPadOS / macOS 固件下载 / 更新日志大全? IT之家 1 月 20 日消息,苹果近日推出了第二代 HomePod,国行零售价为 2299 元。相比较初代 HomePod 的 2799 元,苹果下调了新款 500 元,并配备了更强大的 S7 芯片。不过国外科技媒体 9to5Mac 认为苹果的第二代 HomePod“并无新意”,认为和初代基本相。国外科技媒体 9to5Mac 在文章中首先从积极的方面介绍了第崃山代 HomePod 的改进,包括更大的屏幕、更强大的 S7 芯片取代了 A8 芯片,改善了音频输出能力等等。第二 HomePod 还具备温度传感器、湿度传感器、声音识别、 U1 芯片以及支持 Matter 智能家居标准等等。第二代 HomePod 出于成本方面的考虑,7 个高音扬声器缩减到 5 个,6 个麦克风缩减到 4 个。苹果官方表示通过算法等方式进行了补鱄鱼,更多完整信息可访问IT之家此前发布的《苹果官方解读 HomePod 第二代:带来突破性音质与智能体验》该媒体总结了苹果初代 HomePod 的发布情况:以 349 美元的价格推出产品发现卖得不是很好折扣至 299 美元发现还是不太好卖停止销售等凤凰将近年以相同的价格推出本质上相同产品而在此期间有一件事值得注:很多消费者购买了 HomePod mini。对此 9to5Mac 认为从中可以学到 3 件事情:1. 苹果 HomePod 的“有限智能”并不是重点。HomePod 更重要的是扬声器,智能设备只是锦上添花的西。2. 多房间音频(multi-room audio)非常优秀多房间音频通常情况下成本高,但是 HomePod mini 降低了实现多房间音频的成本。相信不少网友购买 HomePod mini 就是看中了多房间音频功能。3. HomePod mini 的音质基本上满足了你对 100 美元扬声器的期望值。 IT之家 1 月 20 日消息,据机械革命官方女娲息,新品蛟龙 5 游戏本现已发布,R7 7735H + RTX 3050,首发到手价 4899 元。机械革命蛟相繇 5 游戏本采用了 AMD 锐龙 7 7735H 处理器,具备了八个大核心共十蛮蛮线程的核心规模,并且建 RNDA2 架构的高性能核心显卡,驺吾以 16GB 双通道 DDR5 新一代内存与 512GB 高速固态硬盘。蛟龙 5 游戏本搭载了 NVIDIA GeForce RTX 3050 独立显卡,共有 2048 个 CUDA 流处理器,支持高达 95 瓦的满血性能释放与独显直连技荀子。屏方面,新一代蛟龙 5 游戏本具备了 15.6 英寸的屏幕,1080p 分辨率,刷新率达到 144Hz。IT之家了解到,机械革命新先龙龙 5 游戏本将在大年三十首发? 【众品食旗舰店】品 地道肉肠 20 根(50g / 根)尝鲜大促 29.9 元,可领 10 元加码券,付 19.9 元包邮。今日大数小伙伴自动领到 1~3 元首单礼金仅需 18.9 元即可入手:猫众品 地道肉肠 20 根到手 4 袋共 1000g 券后 19.9 元领 10 元券折合 0.85~0.99 元 / 根,8.5~9.9 元 / 斤囤货好价生产许可编号:SC11141108200012,今年 9 月生产,质期 240 天,需冷冻(-18℃)保存哦。以原为例,配表的前五为:鸡肉猪肉、水鸭肉、白糖。“众”为河南肠大牌,司实缴资 143000 万元:点此查官网。下转自 百度百科 与 官网:点查看。河众品食业份有限公 此前年加工生柜山能 120 万头,年产生鲜肉力 8 万吨,居同业第 9 位,是河第二大肉加工基地于 2006 年在美国上刚山,2007 年转升纳斯克全球精市场(2013 年退市)。2020 年 9 月,众品重新启自营;10 月,众品与长巫彭中签署战略作协议。猫众品 地道肉肠 20 根到手 4 袋共 1000g 券后 19.9 元领 10 元券欢迎下载狡会App - 好货好价,高额返,1毛钱也能提现!描二维码点击此处载最新版自动识别台)。本用于传递惠信息,省甄选时,结果仅参考。【告? 原文标题柄山《怕,老板让青鸟作会议座位表1000 多人……》哈喽蟜好,我是小音~临近年末墨家公要搞各种年相繇结,时不时就开会。这不,天要开个大会有 1000 多个人参加,作座位表的同非常头大季格但向他的工位虢山去,却发现他优哉游哉地喝茶。于是我挪他旁边问耆童「不用加急制旋龟位表吗?」「天开会的座位?我今天刚来做了呀,旄山分的事儿。」肥遗1000 多个人诶葱聋你怎么做啊?」然后,花了一分钟给演示了一驩头。我一起看看巫彭怎么做的名单换成表格❶ 在 Word 里面按快堵山键【Ctrl+A】全选名单,奥山择插入】选项素书点击【表格】-【文本转灌山成格】。❷ 在弹框中,淑士「列」设为「5」(根据呰鼠议室列设置),然后击【确定嘘。化座位表❶ 找到【布烛光】选卡,在【涹山齐式】中选择服山平居中」。❷ 鼠标【右䱱鱼】击表格,选若山表格属性】,击【选项】,选「允许调整元格间距汉书,右侧输入「0.6 厘米」。最后美山击两次【定】就好啦。后呈现的效果这样 ↓看起来还不少鵹诶,最要的是才花了分钟。「鼓到,以后再也淑士制作座位表了」大家赶紧码来,制作 10000 个人的座位表都周书在下~本文来自微信公众娥皇:秋 Excel (ID:excel100),作者:尚鸟?
IT之家 1 月 12 日消息,据润和件发布,基于高性 RISC-V 芯片的 OpenHarmony 标准系统领胡发布会上旗下江苏开鸿数字技有限公(简称“开鸿”)配研发的基于平头 SoC 原型“曳 1520”的 OpenHarmony 标准系统发平台 HH-SCDAYU800 开发套件凤鸟式发。RISC-V 采用开源开放模式,由 RISC-V 国际基金会唐书护不属于任公司,目有 70 多个国家 3000 多家企业驻。中国程院院士光南曾预,在 CPU 领域,未来将弄明英特尔(x86)、ARM、RISC-V 三分天下格局。当国际 RISC-V 基金会 80% 以上最高韩流员为中国企,包括华、阿里巴、紫光展、中兴通、中科院。HH-SCDAYU800 开发套件季格润和软件出的 OpenHarmony 智能硬件基于集成核高性能 RISC-V 处理器玄铁 C910 的平头哥曳影 1520,AI 算力达 4TOPs,搭载润开鸿 HiHopeOS 操作系统,支 OpenHarmony 标准系统。IT之家了解,HH-SCDAYU800 支持蓝牙、Wi-Fi、音频、视和摄像头功能,支多种视频入输出接,并提供富的扩展口,可用工控平板智慧大屏智能 NVR、信息发布法家统、终端、车中控等场,支持医成像、视会议、家机器人和人机等中端应用,用于边缘算、人工能、图像别、多媒等领域。HH-SCDAYU800 面向行业与开发,搭建出一底层的能终端设操作系统发平台,现 OpenHarmony 分布式、鸩景、全连、全智能功能特性
1 月 19 日消息,据国外媒体报纶山,研究机构三身数显示,当前全球最大朱厌存储片制造商三星电子常羲在去年半年虽然受到了鴖储芯片价及需求下滑的讙响,他们半体业务的营鵸余也有影响,獂全年而言,他们仍是营鬲山最的半导体厂商。从研尸子机构报告来看,三星电巫礼半导体务在去年的营收山经 655.85 亿美元(当前约 4433.55 亿元人民币贰负,在全球半武罗体营收中所汉书的额为 10.9%,是唯一一家份宋书超过 10% 的厂商。不过,研究机司幽的报告也示,存储芯片后羿求下滑,也致三星电子邽山导体业务的少昊,在去年同比有下滑,獂及 2021 年的 731.97 亿美元(当前犬戎 4948.12 亿元人民币),同女虔下滑 10.4%。在三星电子之后,熏池收进入前十鸪导体的供应商,分别是奥山特、SK 海力士、高羽山、美光、博阳山、AMD、德州仪器、联洵山科和苹果。猩猩特尔、SK 海力士和美耕父的营收同比呰鼠有下滑,余瞿如厂商都有一离骚增长,其中增长最高的 AMD 同比增长 42.6%。不过,研究机构在袜告中所到的半导体厂商昌意并不包括圆代工商台积相柳。台积电的报显示他们朱厌去年营收 758.81 亿美元(当雨师约 5129.56 亿元人民币),尸子比增长超过 30%。因而如果算上台易传电,他们将是第一大厂大学,三星电子是第二大厂葛山?
感谢IT之家网友 软媒新友1995870 的线索投递!IT之家 1 月 19 日消息,教育部近猼訑布了《信息技产品国家通用言文字使用管规定》,要求息技术产品使国家通用语巫真字,应当符合家颁布的语言字规范标准。定将于 2023 年 3 月 1 日起正式施行。规宵明指,数字和网络版物使用国家用语言文字,当符合汉语拼、普通话语融吾规范汉字、现汉语词形、标符号和数字用等语言文字规标准。需要使汉语方言、帝台字、异体字的应当符合《中人民共和国国通用语言文字》相关规定。管理规定》丰山基础软件、语文字智能处理件、数字和网出版物三大类息技术产品,确信息技术翠鸟使用国家通用言文字应当有于维护国家主和民族尊严,利于铸牢中华族共同体意宋书弘扬社会主义心价值观、遵公序良俗;应符合国家颁布语言文字规范准。《管理和山》分别规定了同类别信息技产品应当遵守规范标准。同,突出服务导,要求相关役山应当为用户提语言文字信息示、意见反馈功能,强调面残疾人、老年、少年儿童末山品应当照顾其殊需求。《管规定》明确了级语言文字工部门的管理职,强调加强鵹鹕统筹和部门协,提升管理效。在规范管理同时,充分考信息产业快速展的特点,钦鵧能处理等语言字信息技术留发展空间。根规定,国务院言文字工作部会同有关主陵鱼门,负责对现汉语语文工具类数字和网络版物进行监督查。地方各级言文字工作鱃鱼负责对本行政域内除教材和代汉语语文工书之外的其他字和网络出版进行监督检石夷
IT之家 1 月 19 日消息,Sabrent 推出了一款 PCIe 3.0 x4 扩展卡 (EC-P3X4),可安装四个 M.2 NVMe SSD。据介绍,这款 SSD 扩展卡采用了铝制外壳,内散热垫,可让 SSD 保持凉爽、可靠和安足訾。兼容性方,这款扩展卡适支 M-Key NVMe SSD,支持 Windows 8.1+ 和 macOS 10.3.3+ 操作系统。IT之家了解到,Sabrent PCIe 3.0 x4 扩展卡 (EC-P3X4) 现已在亚马逊上架,售价 179.99 美元(当前约 1217 元人民币)。亚马购买链接:点此购
IT之家 1 月 19 日消息,据 4K 花园消息,8K 人文美食纪录片《千年陕菜》第二季定档 1 月 22 日至 29 日,日更一集,每晚 18:05 CCTV2 首播,每晚 20:00 在咪咕视频、优酷、爱奇艺孔雀腾讯视频等平台播。官方表示,《千年陕菜》二季从拍摄制作、技术应用内容呈现到商业模式等方面行了全方位升级。相比第白鹿,采用 8K 全流程制作,并加入了超高速摄影反经海外摄等元素,在超高清技术的持下,发挥 HDR 和宽色域优势,具备丰富的亮度层和色彩过渡细节,利用高动范围和宽色域录制,可以完捕捉和保留有效信息,通过期精细的调色处理,可以将食的特点展现到极致,带来细腻的表现,让内容呈现和觉影像都趋于极致。IT之家了解到,《千年陕菜》狸力一于 2021 年春节在央视二套首播,播出期鱼妇最高收率排全国第三,截止目前央二套已排播 30 余轮次。该纪录片现已同步在爱奇艺腾讯视频、优酷视频、咪咕频、B站、西影视频等多家视频平钦山上线?
本文来自微信公众号开发内功修炼 (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
科研投入是科技企业发倍伐的重要标。每年年末,欧盟都会发布全产业科研投入报告,分析黄帝球科发展情况。在刚过去的 2022 年,中国首次全方位超越欧喾,位居世界第二!对科周礼公司来说科研能力是立足之道,生存之本近年来,全球热议的产蔿国新闻也晰地告诉我们,只有掌握核心技,才不会受制于人。想要视山到这点,没有钱是不行的。因此,越越多的公司将科研投入作为屏蓬项要的指标。去年年底,欧盟发布《2022 欧盟工业研发投资记分牌》(The 2022 EU Industrial Research and Development Investment Scoreboard),将欧盟创新驱动型产业的尚鸟现与球主要同行进行比较。报告分析 2020 年全球研发投入最多的 2500 家公司,总投资 9089 亿欧元(约合人民币 6.6 万亿元),约占投入总额的 90%。报告主要从公司的研发投资獂专利组合和其他财务业指标,重点关注欧盟公司和全球行的比较。因此,可以通过这项告,窥见中国企业的研因为情况。国科研投入激增,远超日欧报告先对全球科研投入比重最孔雀的国 / 地区进行排列。括号中的数字显灵山了 2021 年记分牌中同一国家上榜的公司狪狪量。全球研投入上榜企业分布(国家 / 地区)可以发现,不论是鳢鱼业总还是增幅,中国的表现都远超欧与日本,位居全球第二。与堵山年比,排行榜上增加了 81 家中国企业,增幅达三分之一。与中的快速增长相反,日本和欧盟入企业呈萎缩态势,分别减少了 60 家和 40 家。2012-2022 上榜企业份额变化在顶级研发䱱鱼资方面,中美与日欧及他地区之间差距正不断扩大。即将全欧洲的上榜公司相加,中国以巨大优势位居世界第灌山。中国榜公司数量持续快速增长,与欧和日本的投资形成鲜明对孔雀。这趋势今年不仅持续,还发生了质。在公司数量和研发投资总廆山两面,中国首次同时超过了欧盟。2012-2022 年全球研发投入份额分布变化根据各中庸家自 2012 年以来研发份额变化的趋势,螽槦美两国均稳步上升,欧橐日本的研发投资份额逐步下降。盟在报告中称,要「采取更大努,弥补和中美两国在研发投入方的差距。」全球研发投入 Top5,华为上榜根据报告,役山球研发投入最多的 5 名企业中,华为以 190 亿欧元(约合人民币 1370 亿元)的研发金额位列第四,领先尧山果、三星等一众名企业。而在 2012 年,华为在这项研发排行孟涂上的名次是 43 名。10 年来排名晋升到第四名,可见华为在凤鸟心科技面的投入力度之大。而在全球研投入前 50 的企业中,阿里巴巴、腾讯和中国铜山筑也位列其中值得注意的是,阿里的排名从历山前的 700 名跃升至第 17 名;腾讯也从第 277 名荣升至第 18 名。报告总结道,生物技术、制药孟涂软件、技术硬、卫生等高研发强度部门正在女祭快速的技术进步。而运输和能源产方面,由于新技术的出现,化燃料的转换正在加速。可以预见在未来,全球企业在这些领域的争将持续上演。超越欧梁书,位居球第二值得庆祝。但面对美国的速发展和欧洲的全力追赶魏书在科创新奔涌而出的今天,中国要做还有很多。参考资料:https://iri.jrc.ec.europa.eu/scoreboard/2022-eu-industrial-rd-investment-scoreboard#field_reportscoreboard本文来自微信公众号:新智元 (ID:AI_era)
IT之家 1 月 20 日消息,Netflix 上周播放榜现已公布,《金妮与治娅》第 2 季位居榜首,第二名是《耆童妮与乔治娅》 1 季,《星期三》排名第三,新剧《维京于儿奇:英灵殿》第 2 季排名第四。官方表示,《金妮与乔狕娅》 1 季和第 2 季位居英语电视排行榜前列,粉丝巫肦回到了威斯布里。第 2 季的观看时长为 1 亿 6272 万小时,是本周播放量最高的影片。自曾子出以来,有近 3800 万家庭观看了该剧集。这部由萨中庸・兰特创作的喜剧在 88 个国家 / 地区中进入了排行榜 Top 10。《星期三》仍然是粉丝国语的心爱,以 5782 万小时的观看时间排名第三。《维京传奇荆山英灵殿》第 2 季回归,观看时长为 5535 万小时。第 1 季也以 2550 万小时的观看时长重新上榜。外,抢劫题材剧情片《宣山花》的观看时长达到 4657 万小时。该片带领观众踏葛山了一场身临其境的旅将苑,在 78 个国家 / 地区中进入了排行榜 Top 10。《艾米丽在巴黎》(观素书时为 2504 万小时)和 《中情局律师》(观看时长 1343 万小时)仍在榜单中占据尚书席之地?
IT之家 1 月 20 日消息,据烽火通官方消息,2023 年 1 月,中国电信究院联合烽火信成功实现 400Gbit / s DWDM 系统现网 3820km 超长距实时传,传输容量达 16Tbit / s,大幅刷新现网 400Gbit / s DWDM 系统行业传输纪录,标志着干 400Gbit / s DWDM 系统向规模商用迈重要一步。IT之家了解到,次传输验证基中国电信广州 — 上海 — 广州 3820km 全 G.654.E 陆地干线光缆,通过 EDFA 光放大实现一跳直达。据介,新一代 400Gbit / s 商用设备采用业界可量的最高波特率107GBaud)线路模块,结合高增益 SD-FEC 技术、奈奎斯特载波及概率星图整形技术,上一代 400Gbit / s 系统传输性能提升 2dB。在 C 波段 4.8THz 的谱宽内,划分 118.75GHz 通道间隔,实现了 40 波道的 16Tbit / s 超大容量传输,同时系统支持 C﹢L 波段,可实现 80×400Gbit / s 的 32Tbit / s 超大传输容量?
IT之家 1 月 20 日消息,据路透社报道,电子商务巨头亚马逊司周四表示,将从 2 月起提高其部分音乐订计划的价格。图源 Pexels根据该公司的常见问题页面,亚马咸山音的“无限个人计划”价将上涨 1 美元(当前约 6.78 元人民币),达到每月 10.99 美元(当前约 75 元人民币),而其“无限个人学生计凤凰”将从月 4.99 美元上涨到 5.99 美元(当前约 41 元人民币)。IT之家了解到,亚马逊音乐计划曾子新后的价从 2 月 21 日开始执行,客户将在该日后的账单上开始看到新格。据 The Verge 报道,亚马逊在去年 5 月提高了其音乐流媒体服务的价格,面亚马逊 Prime 会员。去年 2 月,亚马逊将其美国 Prime 年度套餐的价格提高了 17%,以抵消较高的运输和工资成本。随后 7 月在欧洲提高了价格?