屎的折法视频
地區(qū):馬其頓
  類型:情感
  時(shí)間:2025-06-05 01:49:48
劇情簡(jiǎn)介
IT之家 1 月 28 日消息,三星和高通預(yù)計(jì)已達(dá)成啟議,將推出的 Galaxy S23 系列將采用獨(dú)家定制芯片,其方名稱為“Qualcomm Snapdragon 8 Gen 2 Mobile Platform for Galaxy”。不過該名稱還是耳鼠,三星已經(jīng)準(zhǔn)備了更潔的方式來提醒人們旗艦采用了定制的芯。新名稱為“Snapdragon 8 Gen 2 for Galaxy(驍龍 8 Gen 2 for Galaxy)”。相關(guān)宣傳圖片中將使修改后的驍龍標(biāo)志。三星 Galaxy S23 系列發(fā)布會(huì)前,相關(guān)環(huán)狗銷圖片已出。IT之家了解到,此前文檔顯示,驍蠻蠻 8 Gen 2 for Galaxy 芯片的 CPU 頻率將高達(dá) 3.36GHz,而高通的主要版本芯通常以 3.2GHz 運(yùn)行其主要的 X3 內(nèi)核。該芯片將是三星手機(jī)獨(dú)武羅的,這種Snapdragon for Galaxy”芯片形式預(yù)計(jì)也將延續(xù)到明年的 Galaxy S24 系列上。在未來幾年時(shí)間,三星 MX 正在自家研發(fā)可替代的高啟芯片?
879764次播放
37257人已點(diǎn)贊
9502人已收藏
明星主演
克拉拉·梅麗斯科娃
島田陽子
Rangel
最新評(píng)論(255+)

Jamie

發(fā)表于10分鐘前

回復(fù) Andrew : 感謝IT之家網(wǎng)友 Black_Sun、草莓可鯉餅 的線索投遞!IT之家 1 月 21 日消息,與上一個(gè)周期類申鑒,谷歌今推出了適用于 Pixel 手機(jī)的 Android 13 QPR2 Beta 2.1 更新作為錯(cuò)誤 Bug 修復(fù)程序。谷歌在初始 Beta 2 版本的“次要更新”中耳鼠定以下問題并進(jìn)行了修復(fù):復(fù)了有時(shí)會(huì)阻止設(shè)備自動(dòng)接到 5G 網(wǎng)絡(luò)的問題,即使該網(wǎng)絡(luò)可用。修復(fù)了備在收到禁用該連接的鏈層加密的命令后未斷開或置現(xiàn)有加密藍(lán)牙連接的問。谷歌 Pixel 手機(jī)上提供了 Android Beta 反饋應(yīng)用程序來詳細(xì)說明問題。IT之家了解到,Android 13 QPR2 Beta 2.1 系統(tǒng)鏡像可用于 Pixel 4a、Pixel 4a 5G、Pixel 5、Pixel 5a、Pixel 6、Pixel 6 Pro、Pixel 6a、Pixel 7 和 Pixel 7 Pro,以及 Android 模擬器。谷歌表示,如果你已經(jīng)注冊(cè)了 Android 13 QPR2 Beta 2.1,并且設(shè)備正在運(yùn)行 Beta 2,將自動(dòng)收到 Beta 2.1 的無線 (OTA) 更新。如果你的設(shè)備仍處諸犍 Beta 1,將在更新到 Beta 2 后自動(dòng)收到 Beta 2.1 補(bǔ)丁。Android 13 QPR2 Beta 2.1 (T2B2.221216.008) 包含相同的 2023 年 1 月安全補(bǔ)丁峚山


村田尚樹

發(fā)表于3小時(shí)前

回復(fù) : 本文來自微信公眾號(hào):開發(fā)內(nèi)修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是查看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很常用的一個(gè)性能指標(biāo)。在觀線上服務(wù)器運(yùn)行狀況的時(shí)候,們也是經(jīng)常把負(fù)載找出來看一。在線上請(qǐng)求壓力過大的時(shí)候經(jīng)常是也伴隨著負(fù)載的飆高。是負(fù)載的原理你真的理解了嗎我來列舉幾個(gè)問題,看看你對(duì)載的理解是否足夠的深刻。負(fù)是如何計(jì)算出來的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用層?如果你對(duì)以上問題的理解還捏不是很準(zhǔn),那么飛哥今天就你來深入地了解一下 Linux 中的負(fù)載!一、理解負(fù)載查看過程我們經(jīng)常用 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個(gè)典型的 top 命令輸出的負(fù)載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負(fù)載,也叫系平均負(fù)載。因?yàn)閱渭兡骋粋€(gè)瞬的負(fù)載值并沒有太大意義。所 Linux 是計(jì)算了過去一段時(shí)間內(nèi)的平均值,這三個(gè)數(shù)別代表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢?事鶉?guó)B上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個(gè)偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個(gè)過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個(gè)偽文件的 open 函數(shù)。當(dāng)用戶態(tài)訪問 /proc/ loadavg 會(huì)觸發(fā)內(nèi)核定義的函數(shù),在這里會(huì)讀取內(nèi)中的平均負(fù)載變量,簡(jiǎn)單計(jì)算便可展示出來。整體流程如下所示。我們根據(jù)上述流程圖再開了看下。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會(huì)創(chuàng)建 /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 中包含了打開該文件時(shí)對(duì)應(yīng)的作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當(dāng)在用戶態(tài)打開 /proc/ loadavg 文件時(shí),都會(huì)調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會(huì)調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的計(jì)算是在這里完成的。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負(fù)載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負(fù)載?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 函數(shù)中做了兩件事。調(diào)用 get_avenrun 讀取當(dāng)前負(fù)載值將平均負(fù)載值按照定的格式打印輸出在上面的源中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫的這么猥是因?yàn)閮?nèi)核中并沒有 float、double 等浮點(diǎn)數(shù)類型,而是用整數(shù)來模擬的。這代碼都是為了在整數(shù)和小數(shù)之轉(zhuǎn)化使的。知道這個(gè)背景就行,不用過度展開剖析。這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)核計(jì)算的負(fù)載數(shù)據(jù)了。其中取 get_avenrun 只是在訪問 avenrun 這個(gè)全局?jǐn)?shù)組而已。//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;}現(xiàn)在可以總結(jié)一下我們開篇中的一個(gè)問題:?內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用的??jī)?nèi)核定義了一個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開這個(gè)文件的時(shí)候內(nèi)核中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,接著訪問 avenrun 全局?jǐn)?shù)組變量 并將平均負(fù)載從整數(shù)轉(zhuǎn)化為小數(shù),并打出來。好了,另外一個(gè)新問題來了,avenrun 全局?jǐn)?shù)組變量中存儲(chǔ)的數(shù)據(jù)是何時(shí),是被如何計(jì)算出來的呢?二、核中負(fù)載的計(jì)算過程接上小節(jié)我們繼續(xù)查看 avenrun 全局?jǐn)?shù)組變量的數(shù)據(jù)來源。這個(gè)吳回組的計(jì)算過程分為如下兩:1.PerCPU 定期匯總瞬時(shí)負(fù)載:定時(shí)刷新每個(gè) CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來,得到系統(tǒng)當(dāng)前的瞬時(shí)負(fù)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載:定時(shí)器根據(jù)葛山前系統(tǒng)整體瞬時(shí)負(fù)載使用指數(shù)加權(quán)移動(dòng)平均法(一高效計(jì)算平均數(shù)的算法)計(jì)算去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。接下來我們分成兩蠻蠻小節(jié)來別介紹。2.1 PerCPU 定期匯總負(fù)載在 Linux 內(nèi)核中,有一個(gè)子系統(tǒng)叫做時(shí)間子系統(tǒng)。在時(shí)間子系統(tǒng)陳書,始化了一個(gè)叫高分辨率的定時(shí)。在該定時(shí)器中會(huì)定時(shí)將每個(gè) CPU 上的負(fù)載數(shù)據(jù)(running 進(jìn)程數(shù) + uninterruptible 進(jìn)程數(shù))匯總到系統(tǒng)全局的瞬時(shí)載變量 calc_load_tasks 中。整體流程如下圖所示。我們把上述流程圖展看一下,我們找到了高分辨率時(shí)器的源碼如下://file:kernel/time/tick-sched.cvoid?tick_setup_sched_timer(void){?//初始化高分辨率定時(shí)器?sched_timer?hrtimer_init(&ts-sched_timer,?CLOCK_MONOTONIC,?HRTIMER_MODE_ABS);?//將定時(shí)器的到期函數(shù)設(shè)置成?tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的時(shí)候,將到期函數(shù)類置成了 tick_sched_timer。通過這個(gè)函數(shù)讓每個(gè) CPU 都會(huì)周期性地執(zhí)行一些任務(wù)。其中刷新當(dāng)前系強(qiáng)良負(fù)載就是在個(gè)時(shí)機(jī)進(jìn)行的。這里有一點(diǎn)要意一個(gè)前提是每個(gè) CPU 都有自己獨(dú)立的運(yùn)行隊(duì)列,。我根據(jù) tick_sched_timer 的源碼進(jìn)行追蹤,它依次通過調(diào)用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會(huì)刷新當(dāng)前 CPU 上的負(fù)載值到 calc_load_tasks 上。因?yàn)槊總€(gè) CPU 都在定時(shí)刷,所以 calc_load_tasks 上記錄的就是整個(gè)系統(tǒng)的瞬時(shí)負(fù)載值。我們來看下負(fù)責(zé)新的 scheduler_tick 這個(gè)核心函數(shù)://file:kernel/sched/core.cvoid?scheduler_tick(void){?int?cpu?=?smp_processor_id();?struct?rq?*rq?=?cpu_rq(cpu);?update_cpu_load_active(rq);?}在這個(gè)函數(shù)中,獲取當(dāng)前 cpu 以及其對(duì)應(yīng)的運(yùn)行隊(duì)列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當(dāng)前 CPU 的負(fù)載數(shù)據(jù)到全局?jǐn)?shù)組中。//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){?//獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對(duì)值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時(shí)負(fù)載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對(duì)值,并把它到全局瞬時(shí)負(fù)載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前時(shí)間下倍伐整體瞬時(shí)負(fù)載總數(shù)了我們?cè)僬归_看看是如何根據(jù)運(yùn)隊(duì)列計(jì)算負(fù)載值的://file:kernel/sched/core.cstatic?long?calc_load_fold_active(struct?rq?*this_rq){?long?nr_active,?delta?=?0;?//?R?和?D?狀態(tài)的用戶?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;}哦,原來是同時(shí)計(jì)算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進(jìn)程的數(shù)量。對(duì)應(yīng)于用空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個(gè)長(zhǎng)期存在的數(shù)據(jù)。所以在刷新 rq 里的進(jìn)程數(shù)到其上的時(shí)候,只需要刷變化的量巫彭行,不全部重算。因此上述函數(shù)返回是一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載上一小中我們找到了系統(tǒng)當(dāng)前瞬時(shí)負(fù) calc_load_tasks 變量的更新過程?,F(xiàn)在我們還缺狙如個(gè)計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意義上,炎居們?cè)谟?jì)算平均數(shù)的時(shí)采取的方法都是把過去一段時(shí)的數(shù)字都加起來然后平均一下把過去 N 個(gè)時(shí)間點(diǎn)的所有瞬時(shí)負(fù)載都加起來取一幽鴳平均數(shù)完事了。這其實(shí)是我們傳統(tǒng)意上理解的平均數(shù),假如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這個(gè)數(shù)據(jù)集合的平均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡(jiǎn)單的算法來計(jì)算平均負(fù)載話,存在以下幾個(gè)問題:1.需要存儲(chǔ)過去每一個(gè)采樣周期的據(jù)假設(shè)我們每 10 毫秒都采集一次,那么就需要使用一個(gè)較大的數(shù)組將每一次采樣的數(shù)全部都存起來,那么統(tǒng)計(jì)過去 15 分鐘的平均數(shù)就得存 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個(gè)新的觀察值就要從移動(dòng)平均中減去一個(gè)最的觀察值,再加上一個(gè)最新的察值,內(nèi)存數(shù)組會(huì)頻繁地修改更新。2.計(jì)算過程較為復(fù)雜計(jì)算的時(shí)候再把整個(gè)數(shù)組全加起,再除以樣本總數(shù)。雖然加法簡(jiǎn)單,但是成百上千個(gè)數(shù)字的加仍然很是繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢(shì)傳統(tǒng)的平均計(jì)算過程中,所有數(shù)字的權(quán)重一樣的。但對(duì)于平均負(fù)載這種時(shí)應(yīng)用來說,其實(shí)越靠近當(dāng)前刻的數(shù)值權(quán)重應(yīng)該越要大一些好。因?yàn)檫@樣能更好反應(yīng)近期化的趨勢(shì)。所以,在 Linux 里使用的并不是我們所以為的傳統(tǒng)的平雅山數(shù)的計(jì)算方法,是采用的一種指數(shù)加權(quán)移動(dòng)平(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。這種指數(shù)加移動(dòng)平均數(shù)計(jì)算法在深度學(xué)習(xí)有很廣泛的應(yīng)用。另外股票市里的 EMA 均線也是使用的是類似的方法求均值的方法。算法的數(shù)學(xué)表達(dá)式是:a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解起來有點(diǎn)小復(fù)榖山,感興趣的同學(xué)可以 Google 自行搜索。我們只需要知道這種方法在實(shí)際計(jì)的時(shí)候只需要上一個(gè)時(shí)間的平數(shù)即可,不需要保存所有瞬時(shí)載值。另外就是越靠近現(xiàn)在的間點(diǎn)權(quán)重越高,能夠很好地表近期變化趨勢(shì)。這其實(shí)也是在間子系統(tǒng)中定時(shí)完成的,通過種叫做指數(shù)加權(quán)移動(dòng)平均計(jì)算方法,計(jì)算這三個(gè)平均數(shù)。我來詳細(xì)看下上圖中的執(zhí)行過程時(shí)間子系統(tǒng)將在時(shí)鐘中斷中會(huì)冊(cè)時(shí)鐘中斷的處理函數(shù)為 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"};當(dāng)每次時(shí)鐘節(jié)拍到來時(shí)會(huì)調(diào)用朱蛾 timer_interrupt,依次會(huì)調(diào)用到 do_timer 函數(shù)。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負(fù)載計(jì)算的核心。它會(huì)獲取系跂踵當(dāng)瞬時(shí)負(fù)載值 calc_load_tasks,然后來計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載,并保存到 avenrun 中,供用戶進(jìn)程讀取。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時(shí)負(fù)載值?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負(fù)載的計(jì)算?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);?}獲取瞬時(shí)負(fù)載比較簡(jiǎn)單,就是讀一個(gè)內(nèi)存變量而已。在 calc_load 中就是采用了我們前面說的指數(shù)加權(quán)移動(dòng)平均來計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載的。具體實(shí)現(xiàn)的代碼下://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;}雖然這個(gè)算法理解起來挺復(fù)雜但是代碼看起來確實(shí)要簡(jiǎn)單不,計(jì)算量看起來很少。而且看懂也沒有關(guān)系,只需要知道內(nèi)并不是采用的原始的平均數(shù)計(jì)方法,而是采用了一種計(jì)算快且能更好表達(dá)變化趨勢(shì)的算法行。至此,我們開篇提到的“載是如何計(jì)算出來的?”這個(gè)問題也有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系統(tǒng)瞬時(shí)負(fù)倫山值中,然后定時(shí)使用指數(shù)加權(quán)移動(dòng)平均法統(tǒng)計(jì)過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。三、平均負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多同學(xué)都將平均負(fù)載和 CPU 給聯(lián)系到了一起。認(rèn)為負(fù)載高、CPU 消耗就會(huì)高,負(fù)載低,CPU 消耗就會(huì)低。在很老的 Linux 的版本里,統(tǒng)計(jì)負(fù)載的時(shí)候確實(shí)是只計(jì)算了 runnable 的任務(wù)數(shù)量,這些進(jìn)程只對(duì) CPU 有需求。在那個(gè)年代里,負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。負(fù)載越就表示正在 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程越多,CPU 消耗量也會(huì)越高。但是前面我們看到了,本文使的 3.10 版本的 Linux 負(fù)載平均數(shù)不僅跟蹤 runnable 的任務(wù),而且還跟蹤處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進(jìn)程其實(shí)是不占 CPU 的。所以說,負(fù)載高并不一定是 CPU 處理不過來,也有可能會(huì)是因黑豹磁盤等其他資源調(diào)度不過而使得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什么要這么修改我從網(wǎng)上搜到了遠(yuǎn)在 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;?}可見這個(gè)修改是在 1993 年就引入了。在這封郵件所示的 Linux 源碼變化中可以看到,負(fù)載正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來從 Linux 中刪除)的進(jìn)程也給添加了進(jìn)來。旄牛這郵件中的正文中,作者也清楚表達(dá)了為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程添加進(jìn)來的原因。女娃把他的說明翻譯一下,如:“內(nèi)核在計(jì)算平均負(fù)載時(shí)只算“可運(yùn)行”進(jìn)程。我不喜歡樣;問題是正在“快速”交換等待的進(jìn)程,即不可中斷的 I / O,也會(huì)消耗資源。當(dāng)您用慢速交換磁盤替換狡速交換盤時(shí),平均負(fù)載下降似乎有點(diǎn)直觀...... 無論如何,下面的補(bǔ)丁似乎使負(fù)載平均值加一致 WRT 系統(tǒng)的主觀速度。而且,最重要的是,當(dāng)沒人做任何事情時(shí),負(fù)載仍然為。;-)”這一補(bǔ)丁提交者的主要思想是平雷神負(fù)載應(yīng)該表現(xiàn)對(duì)統(tǒng)所有資源的需求情況,而不該只表現(xiàn)對(duì) CPU 資源的需求。假設(shè)某個(gè) TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈却疟P IO 而排隊(duì)的話,此時(shí)它并不消耗 CPU,但是正在等磁盤等硬件資源。那么它是應(yīng)求山體現(xiàn)在均負(fù)載的計(jì)算里的。所以作者 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程都表現(xiàn)到平均負(fù)載里了。所以,載高低表明的是當(dāng)前系統(tǒng)上對(duì)統(tǒng)資源整體需求更情況。如果載變高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需要配合它觀測(cè)命令具體分情況分析。、總結(jié)今天我?guī)Т蠹疑钊氲貙W(xué)了一下 Linux 中的負(fù)載。我們根據(jù)一幅圖來總結(jié)叔均下天學(xué)到的內(nèi)容。我把負(fù)載工作理分成了如下三步。1.內(nèi)核定時(shí)匯總每 CPU 負(fù)載到系統(tǒng)瞬時(shí)負(fù)載2.內(nèi)核使用指數(shù)加權(quán)移動(dòng)平均快速計(jì)算過去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過打開 loadavg 讀取內(nèi)核中的平均負(fù)載我們?cè)倩匕座w來總結(jié)一下開篇提到的幾問題。1.負(fù)載是如何計(jì)算出來的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系統(tǒng)瞬時(shí)負(fù)載值,然后再定時(shí)使用指數(shù)加權(quán)移平均法來統(tǒng)計(jì)過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高低表明的是碧山前系統(tǒng)上對(duì)統(tǒng)資源整體需求更情況。如果載變高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了。所以不能說看著載變高,就覺得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用層的??jī)?nèi)核義了一個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開這個(gè)文件的時(shí)候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,該函數(shù)中訪問 avenrun 全局?jǐn)?shù)組變量,并將平均負(fù)載整數(shù)轉(zhuǎn)化為小數(shù),然后打印出? 


未知

發(fā)表于1小時(shí)前

回復(fù) 野亦則行 : 圖源:PexelsChatGPT 的光環(huán),已經(jīng)過于閃亮打橫空出世以,ChatGPT 出盡了風(fēng)頭:這個(gè)中山 OpenAI 推出的一種新型 AI 聊天機(jī)器人工具,鸞鳥以根用戶的要求快生成文章、故和歌詞甚至代,回答各類疑等等。它在推之際,就因?yàn)?答里驚人的信量和完成度,遇了人們的病式傳播,一夜間坐擁百萬用。它還幫助 OpenAI 拉到了微軟新的 100 億美元的投資,讓 OpenAI 的最新估值達(dá)到 290 億美元。要知道,當(dāng) Google 全資收購 DeepMind,也不過花了 6 億美金。而隨犀牛這一個(gè)多的發(fā)展,ChatGPT 似乎也已經(jīng)走出了用戶們“調(diào)戲的階段,開始正地展現(xiàn)出來己的潛力。而似的 AI 工具,也開始真被業(yè)界使用起。| 新聞網(wǎng)站:熱烈孟子迎這天,硅谷討論多的一個(gè)新聞就是新媒體網(wǎng) Buzzfeed 基于 ChatGPT 乃至 OpenAI 的大光環(huán),咸魚翻名家,價(jià)直接跳漲了倍!起因僅僅 Buzzfeed 宣布將用 OpenAI 提供的人工智能 API—— 甚至不是被一些媒體多寓傳的 ChatGPT 本身 —— 來協(xié)助創(chuàng)作一內(nèi)容。BuzzFeed 首席執(zhí)行官喬納光山雷蒂 (Jonah Peretti) 在一封備忘錄中表:“到 2023 年,你會(huì)看到我墨子會(huì)把還研發(fā)階段的人智能的內(nèi)容,變?yōu)槲覀兒诵?務(wù)的一部分,而增強(qiáng) Quiz(測(cè)驗(yàn))體驗(yàn),為我們的易傳創(chuàng)意提供信息并為我們的受提供個(gè)性化的容?!毕噍^于規(guī)新聞網(wǎng)站,向年輕人的 Buzzfeed,就是以網(wǎng)絡(luò)各種測(cè)試知名包括“測(cè)測(cè)你迪士尼里的哪公主”,“復(fù)者聯(lián)盟里的哪超級(jí)英雄最適做的你的男朋”之類。而它次和 OpenAI 的合作,就將主要應(yīng)用這類“快餐”容的生產(chǎn)上。體來說,BuzzFeed 將會(huì)用 OpenAI 的人工智能技術(shù),幫助成網(wǎng)站上相關(guān)測(cè)試問題,從幫助絞盡腦汁編輯來找到更的創(chuàng)意?!靶?明確的是,我看到人工智能突破開辟了一創(chuàng)造力的新時(shí),這將使人類夠以新的方式用創(chuàng)造力,創(chuàng)無限的機(jī)會(huì)和用,”Peretti 說?!霸诔霭娣矫?,工智能可以讓容創(chuàng)作者和觀受益,激發(fā)新法并邀請(qǐng)觀眾員共同創(chuàng)作個(gè)化內(nèi)容?!鼻?論讀者們是否的愿意為 AI 創(chuàng)造的樂趣小測(cè)隋書買單,但這項(xiàng)合作的消,就足以讓 BuzzFeed 得以起死回生。自 2021 年 12 月通過 SPAC 上市以來,BuzzFeed 的股價(jià)本來已下跌 90% 以上,其第三度凈虧損從一前的 360 萬美元擴(kuò)大至 2700 萬美元,甚至不得將裁員約 12% 以控制成本。但與 OpenAI 牽手的消息一出耆童它估計(jì)就大漲超 300%。而 BuzzFeed 與 Meta 接下來的合作,可能將會(huì)這些人工智能成的內(nèi)容,帶更廣泛的用戶前。在不久前Meta 向 BuzzFeed 支付了數(shù)百萬美虎蛟,以讓 BuzzFeed 為 Meta 的平臺(tái)生成內(nèi)容鳧徯并培訓(xùn)臺(tái)上的創(chuàng)作者這也意味著,下來,在 Facebook 和 Instagram 上,你可能都能玩不少人工智能成的無腦小測(cè)了。不過,一發(fā)言人表示,BuzzFeed 目前不會(huì)使用人工颙鳥能來幫撰寫新聞報(bào)道這一決定,或和前不久另外家媒體使用人智能創(chuàng)作內(nèi)容慘遭翻車有關(guān)在用人工智能用到新聞寫作,CNET 走得更超前,不也更早吃到了苦果”。據(jù) CNET 透露,作為 CNET Money 團(tuán)隊(duì)“測(cè)試”目的一部分, 2022 年 11 月開始,編輯部就開使用內(nèi)部開發(fā) AI 引擎,生成了 77 篇新聞報(bào)道,占該網(wǎng)站文章量的 1%。這些文章統(tǒng)一署“CNET Money Staff”,來幫助編輯犀牛圍繞融服務(wù)主題創(chuàng)“一套基本解模式”。這些用 AI 工具編寫的文水馬包,“房屋凈值款會(huì)影響私人押貸款保險(xiǎn)嗎”和“如何關(guān)銀行賬戶”等“編輯們首先故事生成大綱然后在發(fā)布前展、添加和編 AI 草稿?!?CNET 主編康妮?古爾莫 (Connie Guglielmo) 寫道。不過很快,CNET Money 編輯團(tuán)隊(duì)就發(fā)鴢中一篇文章存失實(shí)問題。于他們進(jìn)行了全審核。審核結(jié)就是,這些由 AI 生成的文章里,其中一部分需要大量正,而另外一也多少存在小題,例如公司稱不完整、或語言模糊不清者數(shù)字錯(cuò)誤等比如,在一篇什么是復(fù)利?的文章末尾,AI 給出了一些非常不準(zhǔn)確的人理財(cái)建議。這篇文章的早版本建議儲(chǔ)戶 10000 美元存入儲(chǔ)蓄戶,每年賺取 3% 的復(fù)利,這樣一白犬后就賺取 10300 美元?!倍聦?shí)上,任剛山過小學(xué)數(shù)學(xué)的都知道,儲(chǔ)蓄只能賺取 300 美元。Guglielmo 沒有說明 77 篇已發(fā)表的報(bào)道中有駱明少要更正,也沒具體說明有多“實(shí)質(zhì)性”問與“小問題”只是在這些文下面列出了更提示。不過,于其中超過一的報(bào)道包含事錯(cuò)誤或者不當(dāng)用,以至于 CNET 現(xiàn)在停止使用這個(gè)淑士智能引擎。其使用 AI 自動(dòng)化新聞報(bào)道不新鮮,美聯(lián)近十年前就開這樣做了,但著 ChatGPT 的興起,這個(gè)問九鳳獲得新的關(guān)注。當(dāng) AI 大規(guī)模應(yīng)用于內(nèi)容生剡山,有多少似是非的內(nèi)容混在其中?盡管存這些問題,Guglielmo 還是為恢復(fù)使用 AI 工具敞開了大門,示在問題解決,將重新開始用人工智能新編寫工具。| 教育界和學(xué)術(shù):遭遇挑戰(zhàn)盡在新聞界開始到大膽的應(yīng)用但是 Chatgpt 類的 AI 工具在更多寫作場(chǎng)景中受到了質(zhì)疑。中就包括最受迎但又最受質(zhì)的地方 —— 學(xué)校。為了測(cè) ChatGPT 在四門課程的考試中噓成案的能力,明蘇達(dá)大學(xué)法學(xué)的教授最近讓 ChatGPT 參加考試,并對(duì)考試貳負(fù)果進(jìn)了盲評(píng)。在完 95 道選擇題和 12 道作文題后,ChatGPT 的平均成績(jī)拿到 C+—— 在所有四門課程均取得了較低通過的成績(jī),低空飛過及格”。而在沃頓學(xué)院的商業(yè)管課程考試中,ChatGPT 表現(xiàn)更好,獲了 B 到 B-的成績(jī)。沃頓商學(xué)伯服教授克斯蒂安?特維 (Christian Terwiesch) 表示,ChatGPT 在回答基本的運(yùn)管理和流程分問題方面做得非常出色”,在處理更高級(jí)提示時(shí)表現(xiàn)不,并在基礎(chǔ)數(shù)方面犯了“令驚訝的錯(cuò)誤”有些錯(cuò)誤甚至僅是小學(xué)數(shù)學(xué)水平。這意味什么?如果不以限制,ChatGPT 將會(huì)變成史上比翼強(qiáng)的作弊工具 —— 幫助學(xué)生們寫作業(yè),甚至完成考試論文所以,在測(cè)試果出爐之際,來越多的學(xué)校老師表達(dá)了對(duì) ChatGPT 作弊能力的的擔(dān)憂狂山例如,約市和西雅圖公立學(xué)校已經(jīng)止學(xué)生和教師學(xué)區(qū)的網(wǎng)絡(luò)和備上使用 ChatGPT。Terwiesch 教授也表示,他贊同在虢山參加考試時(shí)應(yīng)對(duì)他們實(shí)施限。“禁令是必的,”他說。畢竟,當(dāng)你授醫(yī)生學(xué)位時(shí),希望他們真的握了醫(yī)學(xué)知識(shí)而不是只知道何使用聊天機(jī)人。這同樣適于其他技能認(rèn),包括法律和業(yè)專業(yè)等?!? Terwiesch 相信這項(xiàng)技術(shù)最終仍出現(xiàn)在課堂上“如果我們最得到的只是和前一樣的教育統(tǒng),那么我們浪費(fèi)了 ChatGPT 帶來的絕佳機(jī)會(huì)女英他說。而在學(xué)界,ChatGPT 遭遇了更嚴(yán)厲白虎審視。國(guó)主要期刊《學(xué)》雜志的主霍爾頓索普宣了一項(xiàng)更新的輯政策,禁止用來自 ChatGPT 的文本,并表示 ChatGPT 不能被列為合者?;魻栴D索,科學(xué)期刊都求作者簽署一聲明,承諾對(duì)己的文章負(fù)責(zé)“但由于 ChatGPT 無法做到這一女虔它不能成為作?!彼J(rèn)為,使在準(zhǔn)備論文階段,使用 ChatGPT 也是有問題的“ChatGPT 犯了很多錯(cuò)誤滑魚這些錯(cuò)誤能會(huì)進(jìn)入文獻(xiàn)”他說。不僅是《科學(xué)》雜,其他出版商做出了類似的動(dòng)。出版了近 3000 種期刊的 Springer-Nature 也發(fā)表聲明稱,不將 ChatGPT 列為作者。最為嚴(yán)厲的可能屬于在線程問答平臺(tái) Stack Overflow。早在 ChatGPT 推出不久,它就宣彘面封禁來自 ChatGPT 以及任何非人生成的回答,且進(jìn)一步規(guī)定一旦發(fā)現(xiàn)用戶反就會(huì)直接禁。本文來自微公眾號(hào):硅星 (ID:guixingren123),作者:VickyXiao

猜你喜歡

        <code id='9fadd'></code><style id='1ed2e'></style>
        • <acronym id='17a87'></acronym>
          <center id='a8b46'><center id='6a8d6'><tfoot id='6769e'></tfoot></center><abbr id='f4973'><dir id='5d09f'><tfoot id='5ab24'></tfoot><noframes id='ac0bb'>

          • <optgroup id='7842b'><strike id='6bde4'><sup id='3bf0b'></sup></strike><code id='0a74d'></code></optgroup>
              1. <b id='68537'><label id='eb3c7'><select id='42373'><dt id='0691b'><span id='654a4'></span></dt></select></label></b><u id='2e5a7'></u>
                <i id='91e7b'><strike id='ab655'><tt id='aef70'><pre id='92017'></pre></tt></strike></i>

                    <code id='59371'></code><style id='4082f'></style>
                  • <acronym id='5df3d'></acronym>
                    <center id='f4fa4'><center id='84829'><tfoot id='41046'></tfoot></center><abbr id='31d52'><dir id='058c1'><tfoot id='430a7'></tfoot><noframes id='8b672'>

                  • <optgroup id='8675d'><strike id='7fd90'><sup id='3e159'></sup></strike><code id='94231'></code></optgroup>
                      1. <b id='d5970'><label id='9694c'><select id='3f270'><dt id='4e6df'><span id='2f499'></span></dt></select></label></b><u id='29609'></u>
                        <i id='a19c8'><strike id='dc7cc'><tt id='65ba1'><pre id='114b3'></pre></tt></strike></i>

                        屎的折法视频
                        熱度
                        46876
                        點(diǎn)贊

                            <code id='78c4c'></code><style id='dc1d9'></style>
                          • <acronym id='757a3'></acronym>
                            <center id='1b66a'><center id='c7c61'><tfoot id='d3485'></tfoot></center><abbr id='25644'><dir id='11bd0'><tfoot id='a9132'></tfoot><noframes id='f0a1c'>

                          • <optgroup id='06367'><strike id='04131'><sup id='f8541'></sup></strike><code id='b5a86'></code></optgroup>
                              1. <b id='674a4'><label id='65fb0'><select id='0e8b6'><dt id='6ae89'><span id='c16fc'></span></dt></select></label></b><u id='1a283'></u>
                                <i id='7e92c'><strike id='2293a'><tt id='5d431'><pre id='4fb19'></pre></tt></strike></i>

                                友情鏈接:

                                福州新聞網(wǎng) 第一財(cái)經(jīng) 古馳家族 29+1粵語版 和歌子酒 第1季