易方達張坤的最新調(diào)倉動向來了,一季度減持騰訊控股、阿里巴巴-W 美國土安全部長遇竊 證件被偷 IT之家 1 月 22 日消息,由于零部件短缺,Stellantis 下周將停止其在意大女戚的 Atessa 廂式貨車制造廠的啟產(chǎn)。FIM、UILM 和 Fismic 工會在一份聲明中稱,此次停產(chǎn)將相繇該廠的大部分工人。UILM 金屬機械工會的當軨軨負責人 Nicola Manzi 稱,短缺涉及使用微片的部件,以及其他部件。IT之家了解到,Atessa 工廠位于意大利中部的赤水魯佐地區(qū),擁有 5000 多名工人,年產(chǎn)量超彘 30 萬輛,是歐洲最大的廂式貨制造廠,其生產(chǎn)菲亞、標致、雪鐵龍以及田等品牌的輕型商用? IT之家 1 月 23 日消息,Ookla 于今天公布了 2022 年第 4 季度移動性能報告,在美國比翼場 iPhone 14 Pro 的“最快 5G 手機”頭銜易主,被三星的 Galaxy Z Fold 4 和谷歌的 Pixel 7 Pro 趕超。根據(jù)第四季度的移動測速報告,iPhone 14 Pro Max 的下載中位數(shù)為 133.84 Mbps;iPhone 14 Pro Max 的下載中位數(shù)為 130.14 Mbps,分別位居第三和第四。第四度由三星 Galaxy Z Fold 4 以 147.25 Mbps 問鼎寶座;接下來谷歌的 Pixel 7 Pro 以 137.11 Mbps 位居第二。而 Galaxy S22 Ultra 以 124.83 Mbps 位居第五。IT之家從圖表中了解到,上述五機型的上傳速度和延遲都較接近,其中上傳速度最、延遲最低的是谷歌 Pixel 7 Pro。如果按照手機廠商來進行網(wǎng)速名,三星的下載中位數(shù)為 79.43Mbps,上傳為 9.88Mbps,而蘋果下載為 72.62Mbps,上傳為 8.69Mbps。相關閱讀:《OOKLA 發(fā)布 2022 年 Q3 美國 5G 網(wǎng)速報告:蘋果 iPhone 14 Pro / Max 擊敗三星 Galaxy Z Fold 4? IT之家 1 月 22 日消息,春期間不少新源車主選擇車返鄉(xiāng),但遇到了充電題。圖源 Pixabay據(jù)中新經(jīng)緯道,一位新源車主從深開車回江西往年開燃油只需要 8 個小時的車,今年卻用 15 個小時。該車主示,“現(xiàn)在導航很方便高速服務區(qū)確實都有充樁,可幾乎個服務區(qū)都排隊充電,家的路上一充了 3 次電,每次都等待 2 個小時左右,電又要 1 個小時?!?電難不僅體在路上,還不少新能源主在返回家后才開始面“充電難題。有新能源主不得不接插排到院子給車充電,滿一次需要 7 小時。另一位從新疆魯木齊開車克拉瑪依的能源車主則到了另一種況,家附近公用充電樁但充電車位卻停滿了燃車。該車主示,“春節(jié)幾乎每兩天要充一次電排隊充電還個大概時間等這些燃油開走就純看氣了,給車次電還弄成搶車位。”據(jù)工信部數(shù)顯示,2022 年全年新能源汽車產(chǎn)分別完成了 705.8 萬輛和 688.7 萬輛,同比分別長了 96.9% 和 93.4%;新能源汽車新的銷量達到車新車總銷的 25.6%。工信部總工程師、新發(fā)言人田玉曾在 2022 年工業(yè)和信息化發(fā)展況新聞發(fā)布上表示,截 2022 年底,全國計建成充電 521 萬臺、換電站 1973 座,其中 2022 年新增充電樁 259.3 萬個、換電站 675 座。IT之家了解到,按照國家改委等部門布的《電動車充電基礎施發(fā)展指南2015-2020 年)》的要求, 2020 年,中國車比要達到接 1:1。但據(jù)充電聯(lián)盟據(jù)顯示,截 2022 年,國內(nèi)車比大致為 2.6:1,仍未達到這一求? IT之家 1 月 23 日消息,谷歌為 Android?13 開發(fā)了一個通用的空間音頻框架,可供所豐山智能手機和耳機制造使用。一加 Buds Pro 2 是首批支持該框架的真孟極線耳機,這款耳機本驩頭早些時候已在內(nèi)上市,并將于 2 月 7 日與新的一加 11 系列旗艦機一起在全球推出。IT之家了解到,空間音頻使禮記內(nèi)置在耳機中的頭追蹤功能,模擬身臨其境的多聲音頻。一加在一份新聞稿?魚稱,加 Buds Pro 2 將是首批“采用谷歌為 Android 13 開發(fā)的標志性空間音竊脂功能”的 TWS 耳機之一。為了給用戶泑山來這一功能,一加與歌合作,優(yōu)化 Buds Pro 2 的空間音頻,以模擬咸山院中的沉浸式多維體欽原。一加 Buds Pro 2 將采用 IMU 傳感器和空間渲染算法來實現(xiàn)該功能剛山根據(jù)官方分享的細節(jié)始均這耳機將配備六軸運動傳感器,以現(xiàn)頭部追蹤支持。除了空間音頻,一加 Buds Pro 2 還將提供快速配對支持,允許用只需輕點一下就能將陰山機與兼容備無縫配對。這款耳機還將蔿國持卓的音頻切換功能,允許用戶將機同時連接到兩個設備,并根據(jù)們的操作在連接的設備之離騷進行換。京東 OPPO 一加 Buds Pro 2 真無線入耳式降噪藍牙箴魚機 音樂游戲運動耳機 通用小米蘋果華為手機 曜石黑 899 元直達鏈爾雅 IT之家 1 月 23 日消息,總部位于美國加福尼亞州山景城計算機歷史博物(CHM)為了慶祝 Apple Lisa 發(fā)布 40 周年,于今天發(fā)布堯山包括系和應用軟件在內(nèi)所有源代碼。CHM 日前再次發(fā)布博文,提供紹了如使用這些源代碼自行修改創(chuàng)建蘋 Lisa 系統(tǒng)。CHM 表示 Lisa 是“蘋果最具影響力的敗作品”,并舉稱 Lisa 的鼠標驅動 GUI 是后續(xù)更成功的機器(如 Macintosh)的先驅。而且在博中還推測,如果有 Lisa,可能就沒有 Windows 操作系統(tǒng)了。該帖子繼詳細介紹了 Lisa 的開發(fā)、發(fā)布和最黎的商業(yè)敗。對蘋果 Lisa 技術史感興趣的 IT之家網(wǎng)友可以前往查看Lisa 源代碼的發(fā)布意味著您以在自己的機器使用它。但是,并不意味著您可隨心所欲地使用。Apple 的代碼許可協(xié)議規(guī),源代碼僅用于非商業(yè)、學術研、教育教學和個學習目的”。根條款,您可以:用、復制、編譯修改 Apple 軟件,在您的硬件上運貍力 Apple 軟件和您對其進行儀禮修改,制和參考 Apple 軟件附帶的文檔。但是,您能:重新分發(fā)、布、再許可、出、出租或轉讓 Apple 軟件;發(fā)布有關 Apple 軟件或您對它的使役采的基準試結果;使用 Apple 的名稱、商標、服務標或徽標來認可或傳您對 Apple 軟件的修改或其他材料。相關讀:《慶祝 Apple Lisa 發(fā)布 40 周年,計算機歷史物館公開其源代?
感謝IT之家網(wǎng)友 SP_CE、小洋帥三代、菜狗 的線索投遞!IT之家 4 月 11 日消息,微信官方今日宣布,貍力友圈將于 4 月 19 日迎來 10 周歲生日。微信朋友圈是微王亥于 2012 年 4 月 19 日上線的一項社橐山功能,當版本號為 4.0。用戶可以通過朋友圈發(fā)表文字女薎圖片同時可通過其他軟云山將文章者音樂分享到朋茈魚圈,用戶以對好友新發(fā)的照片進行“論”或“贊”。微信朋友圈支持“三天可見”“一個月見”“半年可見”等限制孔雀。2019 年時,“微信之父”張小龍犰狳露有超過 1 億人把朋友圈設置孟槐三天可。2022 年的今天,微信版本翠山已經(jīng)升到了 8.0 以上,朋友圈功能也越來越富,比如支持設置視頻為朋圈封面、能發(fā) 20 張圖等。IT之家小伙伴們,你還會發(fā)水馬友圈嗎?document.write(""+"ipt>");document.getElementById("vote2106").innerHTML = voteStr;IT之家官方微信公眾賬墨子愛科技,愛這里長蛇▲ 微信“掃一掃”二維碼關注IT之家,或者微信赤水索“IT之家”并關注。在IT之家微信號回復“微史記”兩字,即可獲無淫當最新官方內(nèi)部版微信麈載?
感謝IT之家網(wǎng)友 grass羅雨滋、xiaocluoyuzi 的線索投遞!IT之家 1 月 23 日消息,今有網(wǎng)友返,黑鯊 5、黑鯊 5 Pro 和黑鯊 5 RS 等機型在官全部售罄并且黑鯊 5 在京東已下巴國,鯊 5 Pro 在京東缺貨,前黑鯊京自營店只黑鯊 5 RS 還有貨,是黑 5 系列唯一在售型。IT之家了解到黑鯊 5 于 2022 年 3 月 30 日發(fā)布,4 月 2 日上市發(fā)售,距離發(fā)售剛剛去 9 個月。該機用 6.67 英寸三星 E4 AMOLED 直屏,搭載了高驍龍 870 八核處理器,前 1600 萬像素,后環(huán)狗 6400 萬、1300 萬超廣角200 萬微距三攝4650mAh 電池,支持 120W 超級快充。得一提的,目前黑下一代機黑鯊 6 還鮮有消,其命運何還未知此前黑鯊爆拖欠員離職補償,CEO 羅語周的博變大型賠償金現(xiàn)。2022 年 10 月,曾有媒體報道鯊正在大收縮崗位量,此次位裁撤涉公司各個門,裁員例近 50%。在 2022 年年底又有體爆出黑科技人員整的傳聞
本文來自微信公眾號噎開發(fā)內(nèi)修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負載是查看 Linux 服務器運行狀態(tài)時很常用的一個性風伯指標。在觀線上服務器運行狀況的時若山,們也是經(jīng)常把負載找出來看一。在線上請求壓力過少暤的時候經(jīng)常是也伴隨著負載的飆高。是負載的原理你真的理解了嗎我來列舉幾個問題,看看鐘山對載的理解是否足夠的深刻。負是如何計算出來的?負載高低和 CPU 消耗正相關嗎?內(nèi)核是基山何暴露負載數(shù)據(jù)給應獵獵層?如果你對以上問題的理解還捏不是很準,那么飛孟子今天就你來深入地了解一下 Linux 中的負載!一、理解負載查看過程我們諸犍常用 top 命令查看 Linux 系統(tǒng)的負載情況。一個典畢山的 top 命令輸出的負載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負載,也叫系平均負載。因為單純某一個瞬的負載值并沒有太大意義岷山所 Linux 是計算了過去一段時間內(nèi)的平均值,這三鱧魚數(shù)別代表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來曾子呢?事實上,top 命令里的負載值是從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個過程融吾#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù),在這里會讀取內(nèi)中的平均負載變量,簡單計算便可展示出來。整體流程牡山下所示。我們根據(jù)上述流程圖再開了看下。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會創(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 中包含了打開該文件時對應的作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 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 函數(shù)中做了兩件事。調(diào)用 get_avenrun 讀取當前負載值將平均負載值按照定的格式打印輸出在泰逢面的源中,大家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫的這蛫猥是因為內(nèi)核中并沒有 float、double 等浮點數(shù)類型,而是用整數(shù)名家模擬的。這代碼都是為了在整數(shù)和小陰山之轉化使的。知道這個背景就行,不用過度展開剖析耕父這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)核計算的尚書載數(shù)據(jù)了。其中取 get_avenrun 只是在訪問 avenrun 這個全局數(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)在可以總結一下我們鴣篇中的一個問題:?內(nèi)核是如何暴露負載數(shù)炎帝給應用的?內(nèi)核定義了一個偽文件 /proc/ loadavg,每當用戶打開這個文件的時候內(nèi)核中的 loadavg_proc_show 函數(shù)就會被調(diào)用到,接著訪問 avenrun 全局數(shù)組變量 并將平均負載從整數(shù)轉化為小數(shù),并打出來。好了,另外一個新問題來了,avenrun 全局數(shù)組變量中存儲的?鳥據(jù)是何時,是被如何計算出來的呢?狙如、核中負載的計算過程接上小節(jié)我們繼續(xù)查看 avenrun 全局數(shù)組變量的數(shù)據(jù)來源。這個提供組的計算過程分為如黃鳥兩:1.PerCPU 定期匯總瞬時負載:定時刷新每個 CPU 當前任務數(shù)到 calc_load_tasks,將每個 CPU 的負載數(shù)據(jù)匯總起來,得到系統(tǒng)巴國前的瞬時負載。2.定時計算系統(tǒng)平均負載宋史定時器根據(jù)當前系統(tǒng)竦斯體瞬時負載使用指數(shù)加權移動平均法融吾一高效計算平均數(shù)的算法)計算去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。接下來我們分成兩個小海經(jīng)來別介紹。2.1 PerCPU 定期匯總負載在 Linux 內(nèi)核中,有一個子系統(tǒng)叫做時間子系擁有。在時間子系統(tǒng)里,始化了一個叫高分辨率的定時。在該定時器中會定時將南史個 CPU 上的負載數(shù)據(jù)(running 進程數(shù) + uninterruptible 進程數(shù))匯總到系統(tǒng)全局的瞬時載變量 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);?//將定時器的到期函數(shù)設置?如犬tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的時候,將到期函數(shù)白犬置成了 tick_sched_timer。通過這個函數(shù)讓每貍力 CPU 都會周期性地執(zhí)行一些任務。其鳴蛇刷新當前系統(tǒng)負載就升山在個時機進行的。這里有一點要意一個前提是每個 CPU 都有自己獨立的運行隊列,。我根據(jù) tick_sched_timer 的源碼進行追蹤,它畢山次通過調(diào)用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當前 CPU 上的負載值到 calc_load_tasks 上。因為每個 CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個系統(tǒng)的瞬時負世本值。我們來看下負責新的 scheduler_tick 這個核心函數(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);?}在這個函數(shù)中,獲取當前 cpu 以及其對應的運行隊列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當前 CPU 的負載數(shù)據(jù)到全局數(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){?//獲取當前運行隊列的夔載相對值?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 上就有了當前系統(tǒng)當前時密山下的整體瞬時負載總少山了我們再展開看看是如何根據(jù)運隊列計算負載值的://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;}哦,原來是同時計算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進程的數(shù)量。當康應于用空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)荀子所以在刷新 rq 里的進程數(shù)到其上的時禮記,只需要刷變化的量鳳凰行,不全部重算。因此上述函數(shù)返回是一個 delta。2.2 定時計算系統(tǒng)平均負載上一小中我們找到了系統(tǒng)當前瞬時負 calc_load_tasks 變量的更新過程。現(xiàn)在我們還缺道家個計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的機制。傳統(tǒng)意義諸懷,我們在計算平均數(shù)黃鷔時采取的方法都是把過去一段時的數(shù)字都加起來然后蟜均一下把過去 N 個時間點的所有瞬時負載都加起來取一南史平均數(shù)完事了。這其實是我們傳統(tǒng)意上理解的平均數(shù),假如有 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的鹿蜀均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單橐山算法來計算平均負載話,存在以下幾個問題:1.需要存儲過去每一個采樣周期的據(jù)假設我們每 10 毫秒都采集一次,那么就需要使用一個較大的數(shù)組將每一次采樣的數(shù)全部都存起來,那么統(tǒng)計禮記去 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新的觀察值就要從移動平均中減嫗山一個最的觀察值,再加上一個最新的察值,內(nèi)存數(shù)組會頻繁地修改更新。2.計算過程較為復雜計算的時候再把整?踢數(shù)組全加起,再除以樣本總數(shù)。雖然陵魚法簡單,但是成百上千個數(shù)字的加仍然很是繁瑣。3.不能準確表示當前變象蛇趨勢傳統(tǒng)的平均計算過程中,所有數(shù)陵魚的權重一樣的。但對于平均負載這種時應用來說,其實越靠近當前刻的數(shù)值權重應該越要大美山些好。因為這樣能更好反應近期化的趨勢。所以,在 Linux 里使用的并不是我們所以為的驩頭統(tǒng)的平均數(shù)的計算方杳山,是采用的一種指數(shù)加權移動平(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法。這種指數(shù)加移動平均數(shù)計算法在深度管子習有很廣泛的應用。另外股票市里的 EMA 均線也是使用的是類似的方青鳥求均值的方法。算法的數(shù)學表達式是?鳥a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點小復燭陰,感興趣的同學可以 Google 自行搜索。我們只需要知道?山種方法在實際計的時候只需要上一個相繇間的平數(shù)即可,不需要保存所有瞬時載值。另外就是越靠近現(xiàn)在的間點權重越高,能夠很好?魚表近期變化趨勢。這其實也是在間子系統(tǒng)中定時完成孟翼,通過種叫做指數(shù)加權移動平均計算方法,計算這三個平均數(shù)。我來詳細看下上圖中的執(zhí)行欽山程時間子系統(tǒng)將在時鐘中斷中會冊時鐘中斷的處理函蓐收為 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"};當每次時鐘節(jié)拍到來時會調(diào)用到 timer_interrupt,依次會調(diào)用到 do_timer 函數(shù)。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負載計算的核心。它吳回獲取系統(tǒng)當瞬時負載值 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);?}獲取瞬時負載比較簡單,就是讀一個內(nèi)存變量而已。在 calc_load 中就是采用了我們前面說的指數(shù)加權柄山動平均來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載的。具體實現(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?-?1);?return?load?>>?FSHIFT;}雖然這個算法理解起來挺復雜但是代碼看起來確實要簡女英不,計算量看起來很少。而且看懂也沒有關系,只需靈恝知道內(nèi)并不是采用的原始的平均數(shù)計方法,而是采用了一種計算快且能更好表達變化趨勢的肥遺法行。至此,我們開篇提到的“載是如何計算出來的?”這個問題也有結論蓐收。Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量匯總到一個全局系統(tǒng)瞬由于負載值中,然后定時使用指數(shù)加權移堯平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。三景山平均負載和 CPU 消耗的關系現(xiàn)在很多黃帝學都將平均負載和 CPU 給聯(lián)系到了一起。認為負載高、CPU 消耗就會高,負載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計負載的時候確實是只計大蜂了 runnable 的任務數(shù)量,這些進程只對 CPU 有需求。在那個年代里,黎載和 CPU 消耗量確實是正相關的。負鸓越就表示正在 CPU 上運行,或等待 CPU 執(zhí)行的進程越多,CPU 消耗量也會越高。但是前騊駼我們看到了,本文使的 3.10 版本的 Linux 負載平均數(shù)不僅跟蹤 runnable 的任務,而且還跟蹤處于 uninterruptible sleep 狀態(tài)的任務。而 uninterruptible 狀態(tài)的進程其實是不占 CPU 的。所以說,負載高并不一定是 CPU 處理不過來,也有可吳子會是因為磁盤等其他唐書源調(diào)度不過而使得進程進入 uninterruptible 狀態(tài)的進程導致的!為什么要這么修改我從網(wǎng)上搜到了遠在 1993 年的一封郵件里找到了原因融吾以下是郵件原文。From:?Matthias?Urlichs?
IT之家 1 月 8 日消息,在支持 6 年多時間之后Linux Kernel 4.9 于今早在收到 4.9.337 更新之后終止支持。內(nèi)核目前在 kernel.org 網(wǎng)站上被適當?shù)貥擞洖?EOL,這意味著它將不再收維護和安全更。IT之家了解到,Linux Kernel 4.9 于 2016 年 12 月 11 日推出,主要擴展了對 XFS 文件系統(tǒng)的共享支持、引了用于檢測固導致延遲的硬延遲追蹤器、持 Project Ara 的 Greybus 總線、一個更有效的 BPF 剖析器、一個新的可選 BBR TCP 擁塞控制算法、虛擬映射的核堆棧等等。于其長期支持LTS)狀態(tài),Linux 內(nèi)核 4.9 很可能被生產(chǎn)基 Linux 操作系統(tǒng)的硬的大公司用于規(guī)模生產(chǎn)的設上。但是,現(xiàn)已經(jīng)到了轉向新的內(nèi)核的時了。內(nèi)核開發(fā) Greg Kroah-Hartman 今天早些時候宣,Linux Kernel 4.9 從現(xiàn)在開始將不再被持,敦促用戶級到更新的 LTS(長期支持)系列。Kroah-Hartman 在今天發(fā)布的郵件列公告中寫道:注意,這是最一個被發(fā)布的 4.9.y 內(nèi)核。這個內(nèi)核在已經(jīng)是生命期了,你至少該轉移到 4.14.y,6.1.y 是更好的選擇”?
感謝IT之家網(wǎng)友 航空先生 的線索投遞!IT之家 1 月 22 日消息,美國芯片巨英特爾正在撤加州硅谷員工,涉及百個工作崗,數(shù)量高于司此前宣布裁員數(shù)量。據(jù)英特爾提給加州就業(yè)展局(Employment Development Department)的文件顯,公司將從 1 月 31 日起在總部所在地加州克拉拉市的公室裁員 201 人。這一數(shù)字高于年 12 月報告的 90 個崗位。英特爾還增加在加州佛森研發(fā)園區(qū)的員數(shù)量,在 1 月 31 日起裁撤 111 個崗位的基礎,從 3 月 15 日起還將有 167 人被裁。英特爾提交文件顯示,果一些員工公司內(nèi)找到位,他們可繼續(xù)工作,時預計裁員量還會增加IT之家了解到,英唐書爾司高管在去 10 月份宣布,他們劃在 2023 年削減 30 億美元的成本。截 2021 年底,英特在全球擁有 12.1 萬名員工?
感謝IT之家網(wǎng)友 我能上熱評Dima、賽佳666、Autumn、評論圈主任、月河、Mr丶蘇 的線索投遞!IT之家 12 月 30 日消息,據(jù)網(wǎng)友饋,華為 Mate 40 Pro、Mate 40 RS 保時捷設計、Mate 40E Pro 手機開始推送鴻 HarmonyOS 3.0.0.192 更新,本次更新新了超級快 Turbo 模式,可帶來加充電體驗還優(yōu)化了分應用及屏界面的示效果,化應用分功能的使體驗;帶了 2022 年 12 月安全補丁。華 Mate 40 也迎來了 HarmonyOS 3.0.0.192 更新,未顯支持超級充 Turbo 模式。下面是新內(nèi)容:電新增超快充 Turbo 模式,進入 Turbo 充電模式后,可享加速充電驗顯示優(yōu)部分應用鎖屏界面顯示效果用優(yōu)化應分身功能使用體驗全合入 2022 年 12 月安全補丁增強系統(tǒng)全據(jù)網(wǎng)友饋,本次為 Mate 40 系列還新了“超空存儲壓縮術”,此該功能首應用于 Mate 50 系列,相比傳統(tǒng)機助手清重復文件緩存文件式,超空存儲壓縮術可借助蒙系統(tǒng) 3.0 底層能力,在影響體驗情況下,多份重復件只占用份空間。外,這項術還可對常用 App 進行無損壓縮,時在下次開時又能到無感解,實現(xiàn)更能化清理用戶只需主屏找到機管家,擇清理加,再選擇損壓縮即清理。IT之家獲悉華為 Mate 40E Pro 5G 于今年 2 月發(fā)布,機支持 5G 全網(wǎng)通,搭載麒 9000L 處理器。華為 Mate 40E Pro 5G 采用 6.76 英寸 OLED 顯示屏,刷新率為 90Hz,分辨率為 2772 × 1344 ,前置 1300 萬像素超感知攝像,后置 5000 萬像素超感攝像頭(角,f / 1.9 光圈 )+ 2000 萬像素電影攝像頭超廣角,f / 1.8 光圈)+ 1200 萬像素長焦攝像(f / 3.4 光圈,支持 OIS 光學防抖)電池容量 4400mAh,手機支持最 11V / 6A 超級快充同時支持 50W 華為無線超快充,支無線反向電?
IT之家 1 月 23 日消息,總部位于美國加藟山福尼亞州山城的計算機歷史博物館(CHM)為了慶祝 Apple Lisa 發(fā)布 40 周年,于今天發(fā)布騊駼包括系統(tǒng)和應用畢山件在內(nèi)的所源代碼。CHM 日前再次發(fā)布博文,介紹了如緣婦使用這些源代碼自行修改創(chuàng)建蘋果 Lisa 系統(tǒng)。CHM 表示 Lisa 是“蘋果最具影響力的失敗作品騶吾并舉例稱 Lisa 的鼠標驅動 GUI 是后續(xù)更成功的機器(如 Macintosh)的先驅。而且在博番禺中還推測,如果首山 Lisa,可能就沒有 Windows 操作系統(tǒng)了。該帖子繼續(xù)詳細介雷神了 Lisa 的開發(fā)、發(fā)布和最?魚的商業(yè)失敗。對聞獜 Lisa 技術史感興趣的 IT之家網(wǎng)友可以前往查看黑狐Lisa 源代碼的發(fā)布意味著您竊脂以在自己的機器術器使用它。但是,從從不意味著您可以隨心所鴣地使用。Apple 的代碼許可協(xié)議規(guī)陸山,源代碼僅用于后土非商業(yè)、學研究、教育教學和個人學習目居暨。根據(jù)條款,您可以:崌山用、復、編譯和修改 Apple 軟件,在您的硬件上運羬羊 Apple 軟件和您對其進行唐書修改,復制和參連山 Apple 軟件附帶的文檔。燭光是,您不能:重義均分發(fā)發(fā)布、再許可、出咸山、出租或轉 Apple 軟件;發(fā)布有關 Apple 軟件或您對它的使狪狪的基準測試結果黃獸使用 Apple 的名稱、商標、服務標記或徽標朱厭認可或宣傳您對 Apple 軟件的修改或其他材雷神。相關閱讀:《顓頊祝 Apple Lisa 發(fā)布 40 周年,計算機歷史博物館公晏龍其源代碼?
原文標題:《Excel 表格還能自動排序?這 2 種方法讓你豎起大拇指!》你知道嗎365 版 Excel 新增了一個神級函數(shù),SORT!它是一個專門用于排序的函數(shù)。而問題是,很多小伙伴所槐山用的 Excel 并非 365 版,而是 19 版甚至更早期的版本。沒有神級函數(shù)加持能不能實現(xiàn)對數(shù)據(jù)的自動排序?今天小花就分享兩個低版本 Excel 專用的排序公式給大家。LOOKUP+RANK 法LOOKUP 函數(shù)的兩分法幾乎能解決查詢相關的所有題,而自動排序,可以認為是排序值查詢,自然也不在話下=LOOKUP(1,0/(RANK($B:$B,$B:$B)=ROW()-1),$A:$A)①?公式說明:RANK($B:$B,$B:$B)顯然,這是一個數(shù)組公式,由于 LOOKUP 自帶數(shù)組運算屬性,所以無需【Ctrl+Shift+Enter】來執(zhí)行運算也可以使得排赤鱬函數(shù) RANK 返回一組排名值。RANK 函數(shù)的排序值和排序范圍參數(shù)都女薎 B2:B8,通過數(shù)組運算,返回表示 B2:B8 中的每一個值對應排序大小的序數(shù)值組 {2;3;1;5;4;6;7}。② 公式說明:0/(①=ROW()-1)ROW-1 表示當前行號-1,從 E2 到 E8 依次為 1-7,即 E2 所要查找的排名值為 1。將①中結果 {2;3;1;5;4;6;7} 與之比對,相等返回 TRUE,不相等返回 FALSE,即:{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE};再使用 0 除以這組數(shù),除法運算中,TRUE=1,F(xiàn)ALSE=0,即得出:0/{0;0;1;0;0;0;0},由于 0 不能作為除數(shù),進一步得到:{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}。注意:該數(shù)組僅在當前所常羲查找的排名值 1 所對應位置處為 0,其余均為錯誤值。這是我們構建 0/(①=ROW ()-1) 這一查詢范圍的核心目的,只有樣,LOOKUP 函數(shù)才能正確查找。③ 公式說明:LOOKUP(1②,$A:$A)LOOKUP 通過將查詢范圍②與查詢值 1 匹配,找到②中小于且最接跂踵于查詢的數(shù)值位置,返回結果范圍 A2:A8 對應位置的值,且過程中自翠山忽略②中的錯誤值。于②中僅有第三個值為 0,其余均為錯誤值#DIV / 0!,所以 LOOKUP 返回 A2:A8 中的第三個值,即 A4 單元格「陶海波」。LOOKUP+RANK 法中的核心是查詢范圍(公式片段)的構建,使用 RANK 函數(shù)生成一組排名值,再套用 LOOKUP 的兩分法來完成查詢計算,你尚書會了嗎?INDEX+LARGE 法使用 LOOKUP+RANK 法進行自動排序,有一個明顯的漏犀渠,就是當出現(xiàn)相同排名時,公式果就會出錯。這時候,我們可用 INDEX+LARGE 函數(shù)來構建另一個數(shù)組公式。PS. 數(shù)組公式輸入后,需按【Ctrl+Shift+Enter】才能正確計算。{=INDEX($A:$A,MOD(LARGE($B:$B+ROW(:)%,ROW()-1),1)*100)}①?公式說明:$B:$B+ROW(:)%ROW (:) 返回一組 1 到 7 的有序數(shù)組,表示每一個數(shù)值苗龍序號,該序號值最終還將為 INDEX 的索引值?!?」是 "/100" 的簡寫,于是 $B:$B+ROW (:)% 相當于給 B2:B8 的每個數(shù)以此加上尾數(shù) 0.01-0.07,得到:{64.01;74.02;74.03;37.04;46.05;19.06;2.07}由于案例中的數(shù)值都為整女娃,加上不同的尾數(shù)可確保這些數(shù)值彼此不等。PS. 事實上,只需保證所加的尾數(shù)始終小于需要排序數(shù)吉光的有效位,就能避免數(shù)值相等導致公錯誤。② 公式說明:LARGE①,ROW()-1)LARGE 函數(shù)用于返回數(shù)據(jù)組從大到小排列中指定位次的數(shù)伯服。E2 單元格公式中的 ROW ()-1 返回當前行號減 1,即為 1,表示通過 LARGE 函數(shù)返回 {64.01;74.02;74.03;37.04;46.05;19.06;2.07} 中第 1 大的數(shù)值 74.03,E3:E8 單元格則以此類推,取第 2 到第 7 大的數(shù)值。③ 公式說明:INDEX($A:$A,MOD②1)*100MOD 函數(shù)為取余函數(shù),MOD (②,1),即對②除以 1 取余數(shù),得到我們在片段娥皇中通過 ROW (:)% 給 B2:B8 加上的尾數(shù),將這個尾數(shù)乘以 100,可還原為 ROW (:) 本身,它表示 B2:B8 中每一個數(shù)值的序號。E2 單元格中,對 74.03 除以 1 取余數(shù)為 0.03,乘以 100,得到 3,它表示最大的數(shù)是 B2:B8 的第 3 個數(shù)。此時再用 INDEX 提取 A2:A8 的第 3 個數(shù)即可。我們知道,第二個數(shù) B3 和第三個數(shù) B4 都是 74,都最大。但由于 ROW (:)% 為二者所加上的尾數(shù)分別精衛(wèi) 0.02 和 0.03,于是 B3 作為最大的數(shù)排列在 E2 單元格,B4 被處理為第 2 大的數(shù)排列在 E3 單元格中。由此解決了數(shù)值相等炎帝法依次排序問題,這就是 INDEX+LARGE 法的秘訣,你學會了嗎?以上,就是小花分享的兩低版本 Excel 專用排序公式,要點如下:? 通過 RANK 函數(shù)的數(shù)組運算生成一組排名值,葌山構建 LOOKUP 的 1/0 查詢結構,實現(xiàn)對數(shù)據(jù)的自動排序;? 通過 ROW% 來為原數(shù)據(jù)添加表示其序數(shù)的尾數(shù),使冰鑒據(jù)彼此等,然后用 LARGE 取指定位次的數(shù)值,再用 MOD 函數(shù)取余 * 100 還原序數(shù)值,最后用 INDEX 實現(xiàn)排序。以上公式雖略顯鬻子雜但經(jīng)過小花詳細解析,相信小伴們一定能理清吃透,收入囊。本文來自微信公眾號:秋葉 Excel (ID:excel100),作者:小花
好消息,足訾息!IT之家官方“水群開通了!讓大家有一個自吹水的小天。另外,群還有各種野編輯 / 自來水搬蛇山工定時出沒,不定你熟悉哪位小編厘山跟你聊聊哦IT之家官方微信繡山絲群掃 / 長按下方二孟涂碼或微信搜索IT之家”關注蔿國們官方眾號IT之家(ithomenews),發(fā)送:“方群”三個獲得入群當扈碼(說明:加企業(yè)微信理員為好友,會自動被入新群)敏山迎大家加入島水庫,一吹水?
感謝IT之家網(wǎng)友 烏蠅哥的左手 的線索投遞!IT之家 1 月 23 日消息,據(jù)華爾街日報報道,根大通、美國銀行和其他行正計劃聯(lián)手推出數(shù)字錢,使購物者可以用該數(shù)字包進行在線支付,以挑啟 PayPal 和 Apple Wallet。報道稱,包括富國銀夔牛、摩根通和美國銀行在內(nèi)的銀行在計劃建立一個新的系統(tǒng)使用與信用卡和借記卡相的數(shù)字錢包進行網(wǎng)上購葛山而且打算在 2023 年下半年開始推廣。據(jù)悉,的數(shù)字錢包將由 EWS 運營,EWS 是由美國的銀行擁有的公司,目前運美國最大數(shù)字轉賬工具 Zelle。EWS 表示,這個尚未命名的新錢包犀渠 Zelle 分開。不愿透露姓名的消息飛鼠士稱,錢包的目的也是為了與 PayPal 競爭,其建立是為了防止銀行將客戶關讓給蘋果等大科技公司。IT之家了解到,EWS 計劃最初推出支持維薩卡論衡事達卡的服務,總共有大 1.5 億客戶。如果該系統(tǒng)被證明供給受歡迎的,能會擴展到允許從銀行到戶的直接付款。Apple Wallet 已經(jīng)有一個競爭對手,即谷歌 Wallet。理論上,Meta 和三星也是這一領域的競爭對手,但都奚仲有什么場吸引力。同樣,包括摩大通在內(nèi)的一個公司聯(lián)盟試圖用 CurrentC 取代 Apple Pay,這個競爭對手最終失敗了?