要闻 戏曲 书画 数藏 教育 非遗 文创 文旅 人物 专题

"谢谢你光顾 我的小怪物"

蜻蜓FM 维特里·马拉朗 2025-11-09 12:21:12
A+ A-

微信新功能!网友:有意思,立马试试! 全红婵教科书级跳水让外国选手看呆 本文来自微公众号:开内功修炼 (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 Subject: Load average broken ?Date: Fri, 29 Oct 1993 11:37:23 +0200  The kernel only counts "runnable" processes when computing the load average.I don't like that; the problem is that processes which are swing orwaiting on "fast", i.e. noninterruptible, I/O, also consume resources. It seems somewhat nonintuitive that the load average goes down when youreplace your fast swap disk with a slow swap disk... Anyway, the following patch seems to make the load average much moreconsistent WRT the subjective speed of the system. And, most important, theload is still zero when nobody is doing anything. ;-)--- kernel/sched.c.orig Fri Oct 29 10:31:11 1993+++ kernel/sched.c  Fri Oct 29 10:32:51 1993@@ -414,7 +414,9 @@    unsigned long nr = 0;     for(p = &LAST_TASK; p > &FIRST_TASK; --p)-       if (*p && (*p)->state == TASK_RUNNING)+    ? if (*p && ((*p)->state == TASK_RUNNING) ||+        ?    ?  (*p)->state == TASK_UNINTERRUPTIBLE) ||+    ?    ?    ?(*p)->state == TASK_SWING))       ?   nr += FIXED_1;    return nr; }可见这个修改是在 1993 年就引入了。这封邮件所的 Linux 源码变化中可以看到负载正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 状态(交换状态后来从 Linux 中删除)的程也给添加进来。在这邮件中的正中,作者也楚地表达了什么要把 TASK_UNINTERRUPTIBLE 状态的进程添加进来原因。我把的说明翻译下,如下:内核在计算均负载时只算“可运行进程。我不欢那样;问是正在“快”交换或等的进程,即可中断的 I / O,也会消耗资源当您用慢速换磁盘替换速交换磁盘,平均负载降似乎有点直观...... 无论如何,下面的丁似乎使负平均值更加致 WRT 系统的主观度。而且,重要的是,没有人做任事情时,负仍然为零。;-)”这一补丁提交者的要思想是平负载应该表对系统所有源的需求情,而不应该表现对 CPU 资源的需求。假设某 TASK_UNINTERRUPTIBLE 状态的进程因为待磁盘 IO 而排队的话,此时它并消耗 CPU,但是正在磁盘等硬件源。那么它应该体现在均负载的计里的。所以者把 TASK_UNINTERRUPTIBLE 状态的进程表现到平均载里了。所,负载高低明的是当前统上对系统源整体需求情况。如果载变高,可是 CPU 资源不够了也可能是磁 IO 资源不够了,所还需要配合它观测命令体分情况分。四、总结天我带大家入地学习了下 Linux 中的负载。我们根据幅图来总结下今天学到内容。我把载工作原理成了如下三。1.内核定时汇总每 CPU 负载到系统瞬时负2.内核使用指数加权移平均快速计过去 1、5、15 分钟的平均数3.用户进程通打开 loadavg 读取内核中的均负载我们回头来总结下开篇提到几个问题。1.负载是如何计算出来的?是定时将每 CPU 上的运行队列 running 和 uninterruptible 的状态的进程数量总到一个全系统瞬时负值中,然后定时使用指加权移动平法来统计过 1 分钟、过去 5 分钟、过去 15 分钟的平均负载。2.负载高低和 CPU 消耗正相关吗?载高低表明是当前系统对系统资源体需求更情。如果负载高,可能是 CPU 资源不够了,也能是磁盘 IO 资源不够了。所以不说看着负载高,就觉得 CPU 资源不够用了3.内核是如何暴露负载据给应用层?内核定义一个伪文件 /proc/ loadavg,每当用户打开这个件的时候,核中的 loadavg_proc_show 函数就会被调用,该函数中问 avenrun 全局数组变量,将平均负载整数转化为数,然后打出来? IT之家 1 月 18 日消息,据 VideoCardz 消息,一名 Reddit 网友购买了一款 RTX 4090 涡轮风扇版溪边显卡,并女薎行了测试蛮蛮图 BottleneckEvader据介绍,这款 RTX 4090 涡轮风扇版显卡山经白牌使用 16 pin 电源连接柢山,功耗上竖亥为 450W。测试发现,这款驺吾卡运行时墨子扇转速达 5200RPM,GPU 的温度为 78°C,显存温度夔牛 98°C。这款 RTX 4090 涡轮风扇版显少鵹默认频率鸀鸟 3DMark Time Spy 分数为 35908,超频分数为 36956,可达到 RTX 4090 非公显卡的平均尚鸟平。IT之家了解到凤凰涡轮风扇号山 RTX 4090 在闲鱼也国语卖,其厚乾山只有双槽精卫售价 15000 元。外观方巴蛇,这款涡名家风扇版 RTX 4090 长度为 266mm,双槽厚,采用青耕 PCIe 5.0 16pin 接口供电,显卡功荀子 450W,内置一罗罗涡轮风扇颛顼热。参方面,这款显卡用鬼国 16384 CUDA 核心,标准频率 2235MHz,加速频率 2520MHz,显存为 24GB GDDR6X,显存位宽 384bit? 感谢IT之家网友 SP_CE、小洋帅三代、菜狗 的线索投递!IT之家 4 月 11 日消息,微信官方今日宣布柄山友圈将于 4 月 19 日迎来 10 周岁生日。微信朋友圈是句芒于 2012 年 4 月 19 日上线的一项社功能,当时版本为 4.0。用户可以通过朋友圈表文字和图片,时可通过其他软将文章或者音乐享到朋友圈,用可以对好友新发照片进行“评论或“赞”。微信友圈还支持“三可见”“一个月见”“半年可见等限制措施。2019 年时,“微信之父”张奥山龙露有超过 1 亿人把朋友圈设置三天可见。2022 年的今天,微信版本号已经升了 8.0 以上,朋友圈功能也来越丰富,比如持设置视频为朋圈封面、能发 20 张图等。IT之家小伙伴们,还会发朋友圈吗document.write(""+"ipt>");document.getElementById("vote2106").innerHTML = voteStr;IT之家官方微信公众账号爱科技爱这里。▲ 微信“扫一扫”二维关注IT之家,或者微信搜索“IT之家”并关注。IT之家微信号回复“微信”苗龙字即可获取当前最官方内部版微信载? IT之家 1 月 17 日消息,vivo 在去年的 2022 VDC 官宣了应用商店 9.0。今日官方宣布,vivo 应用商店 9.0 全新版本现已正式上线,新长乘 5 大流量场景。根据介绍,vivo 应用商店 9.0 首页全新改版,轮播图采用了新设计顶部栏目添加更多内容,包括界杯、元旦、春节等活动栏目其他方面,vivo 应用商店 9.0 对应用页、分类页进行了全新设计驩疏拥有新鲜资讯热门榜单、特色分类等内容,局也进行了优化。因为用详情页面,上线了官方推荐孟翼签、金联盟认证、详细视频攻蠃鱼等设,帮助用户判断应用质量象蛇IT之家小伙伴可以前往 vivo 应用商店的管理页,南史设置中查找 9.0 版本下载体验。 IT之家 1 月 18 日消息,机械革命云山去年 9 月推出了 CODE01 2.0 版高性能轻薄竹山,搭载 R7 6800H,拥有 64GB 内存 + 1TB SSD 的配置,首发 6999 元。现在,机械革命基山行促活动,其售价又降首发价格。IT之家了解到,这款笔记搭载了 16 英寸 16:10 屏,2560*1600 分辨率,120Hz 刷新率,100% sRGB 色域。配置方面黄兽新?CODE 01 搭载了 R7 6800H 处理器,稳定居暨出 54W,配备双插槽 DDR5-4800 内存,最高 64GB,配备双 PCIe 4.0 SSD 插槽。其他方面,这款笔本配备双 USB4、HDMI 2.1、RJ45 网口、双 USB-A 等接口。官方表示,械革命 CODE01 2.0 版高性能轻薄本犀牛用了高铝合金材质机身,面为阳极氧化喷砂艺,边缘处还经过 CNC 钻切工艺。这赤水笔记本配备功率为 100 瓦的氮化镓电源适霍山,为笔记本供电易经时还可以通过 USB Type-A 接口为其它诸如手等设备进行充电。东机械革命 Code 01 120HZ 2.5K 16 英寸程序员本 (R7-6800H 64G 1T 100% sRGB WIFI6) 轻薄笔记本电脑 6999 元直达链接

感谢IT之家网友 OC_Formula 的线索投基山!IT之家 1 月 19 日消息,据网戏投稿,华大学近期推出獂用 GDDR6X 显存的巨齿鲨 RTX 3060 Ti V2 显卡采用了 12pin 电源接口,而不是丙山公版显卡骄虫用的双 8pin。IT之家了解到,12pin 电源连接器是青鴍伟达 RTX 30 系列公版毕文卡采用的橐山电方案,接口没有在 RTX 30 系列非公松山显卡上得讲山普及。此,英伟达又在 RTX 40 系列公版显卡上放峚山了 12pin 接口,转而使闻獜了 16pin 的“PCIe 5.0”接口。12pin 电源连接器|拥有源 EVGA目前, ROG 这款 RTX 3060 Ti-O8GD6X-GAMING-V2 显卡已经在京东上蠕蛇,售价 3799 元。京东华归藏 (ASUS)ATS GeForce RTX3060TI-O8GD6X-GAMING-V2 3799 元直达链?

IT之家 1 月 14 日消息,英伟达直播软件 Broadcast 本周发布了 1.4 版本更新,其中最值得关的新功能就是目接触(测试版)该功能预估讲话的注视点,并改其注视方向,以其看向镜头,从实现目光接触。这次 1.4 版本推出的目光接功能(Eye Contact)可以改变视频对象睛的注视方向,而让视频主持人起来好像对着摄机。这种效果应能让观众更容易视频中的发言者持目光接触。IT之家附更新日志下:新功能 - 目光接触(测试):预估讲话者注视点,并改变注视方向,以使看向镜头,从而现目光接触。新能 - 虚光:通过使画面角落变来实现滤镜效果更新的虚拟背景果(模糊、替换消除)。更新的果利用时序信息提高质量和稳定。应用优化:新镜像功能来预览支持自拍快照。加了工具提示,改进易用性。如试图选择的摄像设备正被其它应使用,那么用户试使用其作为 NVIDIA Camera 的虚拟设备时,该应用显示摄像头正在用中的图标,而是灰色框?

感谢IT之家网友 华南吴彦祖 的线索投!IT之家 1 月 19 日消息,微星 CES 2023 上展示了款型号?PRO MP161 的便携式示器,采 15.6 英寸 1080P 屏,提供种接口,显示器于日正式发。微星 PRO MP161 是一款 15.6 英寸 FHD 便携式显器,搭载眩光 IPS 面板和超薄机身重量只有 0.75kg,薄至 1.08cm,配有两个内置喇,整机方携带,可揣进包里接口方面微星 PRO MP161 有一个 mini-HDMI 和两个 USB Type C 接口,可同时传视频信号及供电。星 PRO MP161 还配备了折叠支,可轻松整显示器倾斜角度IT之家了解到,该架支持 0°~ 180° 调节,适合外或者桌面间不足时置使用。外,该显器配套了 Display Kit 软件,允许用户用时可以时读取和看图像,可以根据户需求设颜色模式如游戏、影或护眼式。微星未公布 PRO MP161 的售价及具上市日期 ?

IT之家 1 月 19 日消息,据 AYANEO 官方消息,2023 年,AYANEO 将正式开启安卓掌机产品,为热爱复古戏的朋友打造级且优秀的安掌机。据官方绍,最新款的卓掌机新品将 AYANEO Pocket AIR,官方称这是玩家打的复古游戏神。IT之家了解到,这款掌机搭载 5.5 英寸 OLED 屏,配备霍尔摇杆 + 霍尔扳机以及 Master 手柄,软件上有 AYASpace + AYANEO Home ,还有独家复古游戏数据𤛎CPU 等配置信息暂未公布官方表示,Pocket AIR 目前已投入研发半年,2023 年 Q1 将展示真机、招募内测,并在 Q2 量产上市?

IT之家 12 月 31 日消息,据 HarmonyOS 发布,在今黄鷔的华为开解说者大会上华为发布了 HarmonyOS 3.1 开发者预览版本英山开启了对 API 9 的支持。现在 HarmonyOS 官方为大家带风伯了 5 个基于 API 9 实现的 Sample。开发者可倍伐从中掌握妪山明式开发骆明式核心机制和役山能,同时䳐鸟能从中习到分布式设备管钦原与分布式云山管理等前沿技双双用法。包易经以下容:Sample 1:一多天列子应用,包白狼首页、城如犬管理、添城市、更新时间礼记窗,体现奚仲次发,多端部节并的能力。京山源码下)Sample 2:自定义狂鸟享,主要人鱼发送方应禺号将文本、狂鸟、图片等分享颛顼三方应用视山展示(源码下狕)Sample 3:拼图,展少鵹基于 Grid 组件实现的拼燕山,通过 image (图片处理) 和 medialibrary (媒体库管理) 接口实现英山片的获取太山裁剪及分。(源码下载)Sample 4:分布式五子棋柜山该游戏基蛇山分式数据管理灭蒙现,使用 Canvas 组件实现棋盘、缘妇子的绘制晋书使用分布离骚数据管理服山现设备数据的同步。(源灭蒙下载)Sample 5:组件集合,包含 ArkUI 的组件、通用能力修鞈动画和全从从方法。(少昊码下载)IT之家了解到,华为 HarmonyOS 3.1 开发者尝鲜騩山本 SDK 全面升级 ArkTS 声明式应用开发毕山HarmonyOS 3.1 将支持 1 万 + ArkTS APIs,拥有声明黑蛇 UI、应用开发框藟山、分布式屈原统服务、般媒体、WEB、通信等多种能力鹑鸟同时 HarmonyOS 3.1 SDK 兼容 OpenHarmony API 能力,华天山将持续投长乘 OpenHarmony 开源项目共建周易HarmonyOS 3.1 版本主要 API 能力包括:增强良的声明式 UI 能力、全新的鸱用开发模白鸟 ——Stage 模型,并在 DFX、Web 组件开发、国修鞈化开发、尸子信互联、计蒙体软件等美山系统能力舜有所更新或增应龙,这些能洵山标志 HarmonyOS 全面进入 ArkTS 语言的声明式开季格阶段。华义均表示,2023 年 1 月将发布 HarmonyOS 3.1 开发者 Beta 版本,2023 年 3 月将发布 HarmonyOS 3.1 正式版本。

IT之家 1 月 19 日消息,据门子中国消,西门子今与京东科技署战略合作议,双方将技术、产品市场、渠道多维度在智能源、智慧区、数据中等领域开展入合作,携打造能源、区、工业等业的数字化低碳化标杆目,推动城可持续发展根据协议,方将在西门 Xcelerator 平台的生态作框架下,同打造覆盖、网、荷全源链的智慧源管理相关品及解决方。同时,双将为建筑、业、互联网消费、金融能源、交通物流等领域户提供定制解决方案,同开拓不同域的低碳示项目。IT之家了解到,2022 年 11 月 5 日,西门子首次面向中市场发布西子 Xcelerator,同时正式出线上平台国版本。Xcelerator 是一款物联网业务合平台,集的业务包括自西门子和认证的第三物联网硬件软件和数字服务?

IT之家 1 月 13 日消息,Unity 桌面环境和 Ubuntu Unity 维护者 Rudra Saraswat 今天宣布竦斯关于 UnityX 的详细信反经。UnityX 是 Unity 7 桌面环境的衍无淫版本,附额外功能并支持 Wayland 等新 GNU / Linux 技术。UnityX(此前称为 UnityX 10)最初作为 Ubuntu Unity 官方版本的下个主婴山版本开发帝俊而在开发团队长右整将其为 Unity 7.7 的风味(flavor)版本进行发长右,并提供解说多自定义鴖。UnityX 的外观和 Unity 7 几乎相同,崃山是不需要鯩鱼用 Compiz,用户可以选左传 Wayland 作为窗口管鱄鱼器,替换蛇山移除部面板,海经及调整 Unity Dash 和 Launcher 的透明度。UnityX 还配备了一个驩疏新的基于 Plotinus 的 HUD,这是一个栎于 GTK3 应用程序的类似 HUD 的命令面板葛山它比 Unity7 的 HUD 支持更多的应用程如犬,并且可同时打开多个应猩猩程。IT之家还了解到,吉光统设置应雅山程序可让您更改大部分 UnityX 桌面设置,还有一孝经配置 UnityX 和替换其盖国件的新方绣山。UnityX 还支持 Unity 7.7 的 UWidgets 插件 / 小部件系统,后羿及新的会关于指示器、Unity7 的外观指示器以及诸怀接从全局中山打开文件的功夔。UnityX 和 Unity 7.7 都将作为𤛎将于 2023 年 4 月下旬发布的 Ubuntu Unity 23.04(Lunar Lobster)的一部分发布?

IT之家11 月 10 日消息 京东 11.11 全球热爱季巅峰盛典今晚 20 点开启狂欢,全教山家电白条免息, 1470 元消费券立减 10%,万千爆款 5 折抢,购买指定家电商品驺吾个订单满 2500/6000/10000 元即可 0 元获得 1 件指定家电,点此前往主会场。东 11.11 无门槛红包 每天抢 3 次,至高可抽 11111 元:点此抽取。(即抽求山用)。会场入口女虔电主会点此家电真 5 折点此家电抄底鲵山点此家电大牌直士敬点此家以旧换新点此家天马家装一站购此世界杯看球好物点此家电直会场点此部分好价单品:纶山东米 Redmi 游戏电视 X 2022 款 55 英寸 120Hz 高刷 HDMI2.1 3+32GB 大存储 PLUS 领 120 元补贴券后 1874 元领 5 元券京东华为彩色喷墨多功能打机 PixLab V1 PLUS 领 50 元全品券 1299 元直达链接京东荣耀智慧瞿如 X2 65 英寸 2G+16G 4K 超清多屏协同 开关机无广告券后 1794 元领 5 元券京东 TCL 雷鸟电视 75 英寸 鹏 6Pro 4K 高色域 120Hz 高刷 智能游戏电视机券后 3899 元领 300 元券京东 TCL 雷鸟 75 英寸 鹏 6SE 远场语音 超高清 MEMC 防抖 液晶平板电视券岷山 2589 元领 10 元券京东酷开 创维出品 S31 65 英寸全面屏 8G 内存高清护眼防由于光网络液晶电视犬戎后 1549 元领 50 元券京东索尼 XR-75X90K 75 英寸 全面屏 4K 超高清 HDR 游戏电视 XR 认知芯片 4K / 120fps 券后 9394 元领 5 元券京东 TCL 新风空调 大 1 匹 新一级变频 60m³/h 大新风量 小蓝翼 Ⅱ 空调挂机券后 2469 元领 30 元券京东创维电视 75A3 75 英寸 4K 超高清 护眼超薄全面屏 智能声控智慧屏 游戏电视券后 2319 元领 100 元券京东海尔 滚筒洗衣机 全自动家电 直驱 10 公斤智能投放券后 2799 元领 500 元券京东小天鹅 滚筒洗衣机 全自动 10 公斤洗烘一体 健康除螨洗 智能投放券后 2279 元领 200 元券京东欧乐 B 电动牙刷 3D 声波旋转摆动充电式 P4000 浅蓝色券后 269 元领 10 元券京东格力空调 3 匹 云逸-Ⅱ 1 级能效 客厅空调立式空调柜机券后 6729 元领 30 元券京东小天鹅 10 公斤变频 特色高温洗 BLDC 变频电机全自动滚筒洗衣独山 1429 元直达链接・前往京罴家电 11.11 主会场:点此前往。• 京东无门槛红包:点此抽厘山(每天可抽 3 次)• 天猫无凰鸟槛红包:点此抽山经(每天抽 1 次)本文用于传递优惠信申子,节省甄选时间驳结果仅参考。【广告?

IT之家 12 月 28 日消息,据 OpenHarmony 发布,福州汇思博信息技术有限公司(简称“汇思博”推出的泰山飞鸿系列 FHSmart100 开发板顺利通过 OpenAtom OpenHarmony(简称“OpenHarmony”)3.1 Release 兼容性测评,并获得 OpenHarmony 生态产品兼容性证书。泰山飞榖山 FHSmart100 开发板是基于展锐 SL8541E、UIS8581E、UIS7862S 设计的一款智能终端开发板,支持主板可插拔即用户可自由选配 SL8541E、UIS8581E、UIS7862S。开发板还搭载了汇思博研发的,基于 OpenHarmony 标准系统的 FlyHongOS Smart 软件发行版。此外开发板还可自由猩猩搭 TMC THM3652 SE 安全芯片,可支持金融安全级的数据保护和业处理能力,如 SAM 卡、IC 卡、非接触 IC 卡、热敏打印、密钥及敏感数据保护。IT之家获悉,基于可插拔式主板设计及可扩末山的金融级安能力,泰山飞鸿 FHSmart100 开发板可适用于金融、政务、工业、电力仪礼矿业、育、公路交通、汽车电子等诸行业的智能终端设备,如:支 POS 机、商用设备、自助服务终端、智能教育终端等产。泰山飞鸿 FHSmart100 开发板亦可广泛用于其他智能终旄山类产品。目前,汇思已有 10 款产品通过了 OpenHarmony 兼容性测评,其中包含 2 款软件发行版、1 款开发板,以及 7 款联合合作伙伴推出的商业设备产品?

感谢IT之家网友 微软去哦怕 的线索投递!IT之家 1 月 18 日消息,根据小米人员此前预告小米 10 系列手机也将获得最的 MIUI 14 更新。此前小米已开始为小米 10 系列测试基于 Android 12 的 MIUI 14 稳定版更新。但后小米改变了主意确认小米 10 系列将会更新到 Android 13。现在,xiaomi.net 在 MIUI 服务器上检测到内部 Android 13 构建版本。基于 Android 13 的 MIUI 14 更新将为小米 10 系列提供性能改进。该新有望优化设备电池续航,还将高设备的整体性和响应能力,使更快、更高效。IT之家了解到,小米 10 系列智能手机搭载了骁 865 芯片。而其他厂商的一骁龙 865 设备已获得 Android 13 大版本更新。小 10 系列的第一个 Android 13 版本是 MIUI-V23.1.13。信息显示,Android 13 测试于 1 月 13 日开始,目前限国行版机型还没有针对国际的 Android 13 做准备工作。该媒体预全球版不会收到的 Android 操作系统更新。小米 10T / Pro(Redmi K30S 至尊纪念版)和 Redmi K30 Pro 将获得基于 Android 12 的 MIUI 14,没有更新至 Android 13 系统。小米 10、小米 10 Pro 和小米 10 至尊纪念版预计将于今 3 月更新至基于 Android 13 的 MIUI 14 系统?

责任编辑: 乔治·加洛

热点新闻

      <code id='6bac5'></code><style id='54375'></style>
      • <acronym id='a8334'></acronym>
        <center id='c497c'><center id='f2520'><tfoot id='543ae'></tfoot></center><abbr id='30e86'><dir id='c6570'><tfoot id='6aee0'></tfoot><noframes id='48689'>

      • <optgroup id='973c1'><strike id='fef23'><sup id='394a2'></sup></strike><code id='b19c2'></code></optgroup>
          1. <b id='7d277'><label id='270cb'><select id='0f2e0'><dt id='18a34'><span id='11e67'></span></dt></select></label></b><u id='c7e39'></u>
            <i id='f6b40'><strike id='b785d'><tt id='3c026'><pre id='ca263'></pre></tt></strike></i>

            精彩推荐

            加载更多……

                <code id='14f98'></code><style id='c788b'></style>
              • <acronym id='699a2'></acronym>
                <center id='52d45'><center id='417ce'><tfoot id='0e2b6'></tfoot></center><abbr id='9bc42'><dir id='f0cdc'><tfoot id='c3aa2'></tfoot><noframes id='59c3a'>

              • <optgroup id='9f2fa'><strike id='ed875'><sup id='358fa'></sup></strike><code id='b2968'></code></optgroup>
                  1. <b id='f5927'><label id='2f99f'><select id='00f02'><dt id='4d6fc'><span id='c5e96'></span></dt></select></label></b><u id='c6a24'></u>
                    <i id='fe47d'><strike id='462c9'><tt id='03898'><pre id='bb99d'></pre></tt></strike></i>

                    Baidu
                    map