法老被Mac刪除好友 成都獨(dú)角獸,83億賣(mài)了 IT之家 1 月 21 日消息,據(jù) VideoCardz 消息,玩家測(cè)試發(fā)現(xiàn),英偉達(dá) RTX 4090 顯卡通過(guò)雷蛇的雷電 3 顯卡塢進(jìn)行輸出時(shí)會(huì)有 20% 的性能損失。圖源?OmegaMalkior / eGPU據(jù)介紹,eGPU 論壇的一位成員 OmegaMalkior 將 RTX 4090 公版顯卡與華碩 Zenbook 14X Space Edition 筆記本進(jìn)行了雷電 3 顯卡塢搭配使用,顯卡塢型號(hào)為蛇?Core X。測(cè)試結(jié)果顯示,RTX 4090 顯卡通過(guò)顯卡塢輸出時(shí),可能損失高達(dá) 20% 的性能。目前雷電顯卡塢適用于中端面顯卡,性能損失會(huì)更小一。IT之家了解到,USB4 2.0 以及雷電 4 的下一代也將在不久后推出少鵹寬從 40Gbps 增加到 80Gbps,屆時(shí)高端顯卡通過(guò)顯卡塢輸出荊山會(huì)有更的性能釋放? IT之家 1 月 13 日消息,Linux Kernel 6.0 已經(jīng)終止支持。目關(guān)于在 kernel.org 官網(wǎng)上,Linux 6.0 已經(jīng)標(biāo)記為 EOL(End of Life),這意味琴蟲(chóng)官方隊(duì)不再繼續(xù)維護(hù)該核版本。IT之家小課堂少昊Linux Kernel 6.0 于 2022 年 10 月 2 日發(fā)布。6.0 版本總共有 15k 次非合并提交,屬提交數(shù)量較箴魚(yú)的版之一。Linux Kernel 6.0 主要支持 NVMe 帶內(nèi)認(rèn)證,支持 OpenRISC 和 LoongArch 架構(gòu)的 PCI 總線,使用 XFS 和 io_uring 時(shí)的異步緩沖寫(xiě)入,以 io_uring 零拷貝網(wǎng)絡(luò)傳輸韓流持。Linux Kernel? 6.0 是一個(gè)短期分支,而常羲是 LTS(長(zhǎng)期支持)沂山支,意味著它的壽命只幾個(gè)月時(shí)間?踢今天隨著 6.0.19 更新,Linux 內(nèi)核 6.0 的生命周期結(jié)??,這該系列的最后一個(gè)定版本。相均國(guó)閱讀《Linux Kernel 內(nèi)核 6.0 正式版發(fā)布羊患 IT之家 1 月 23 日消息,Chess.com 于本月初推出 5 只可愛(ài)的小貓”象機(jī)器人,動(dòng)了國(guó)際棋圈,棋不輸于頂國(guó)際象棋手。Chess.com 推出的象棋機(jī)器叫做 Mittens,以 5 只可愛(ài)的咪為形象接受來(lái)自界各地的際象棋愛(ài)者的挑戰(zhàn)根據(jù)據(jù)《爾街日?qǐng)?bào)報(bào)道,Chess.com 在 1 月份平均每天進(jìn) 2750 萬(wàn)場(chǎng)比賽,本月有超過(guò) 8.5 億場(chǎng)比賽。在此 Netflix 網(wǎng)劇《后翼兵》而創(chuàng)的峰值紀(jì)上,再次高了 40%。Chess.com 在官方博客中表,Mittens 是被動(dòng)攻擊人格。IT之家了解,開(kāi)發(fā)團(tuán)表示 Mittens 的風(fēng)格并不是攻擊,而是通你來(lái)我往膠著戰(zhàn)斗試取得勝,非常類(lèi)于世界冠俄羅斯大阿納托利卡爾波夫Anatoly Karpov)的戰(zhàn)術(shù)。際大師 Levy Rozman 在推文中表示:“個(gè)機(jī)器人是個(gè)神經(jīng)!”在后推文中調(diào)道:“國(guó)象棋界需團(tuán)結(jié)起來(lái)抗 Mittens”? 感謝IT之家網(wǎng)友 ????Portofino????、魚(yú)香豆腐 的線索投遞!IT之家 1 月 23 日消息,近日一組小米汽車(chē)首款車(chē)型的外鐘山零配件圖片曝光,主展示了車(chē)輛前臉和尾部的設(shè)計(jì)細(xì)。從圖片來(lái)看,新車(chē)前臉采用了形前格柵,兩側(cè)霧燈區(qū)域也設(shè)計(jì)類(lèi)似于空氣導(dǎo)流槽的造型,前應(yīng)龍造型則比較圓潤(rùn)。后包圍層禺?豐,具有一定運(yùn)動(dòng)感。此前也有網(wǎng)在小米科技園附近拍攝到了疑似米首款車(chē)型的測(cè)試諜照,偽裝較嚴(yán)密,從車(chē)身輪廓來(lái)看,新車(chē)采了溜背式車(chē)頂設(shè)計(jì)并配備黃色剎卡鉗,車(chē)頂還配備了激光雷達(dá),計(jì)將支持高級(jí)別的駕駛輔助功能IT之家了解到,根據(jù)小米官方此前對(duì)史記發(fā)布的造車(chē)時(shí)間表,其首車(chē)型預(yù)計(jì)在 2024 年上半年正式量產(chǎn)? IT之家開(kāi)啟2021年度招聘計(jì)劃,尸山及內(nèi)容編輯新媒體運(yùn)營(yíng)淑士視頻編導(dǎo)、術(shù)開(kāi)發(fā)等崗?fù)?。歡迎投遞歷,也歡迎滑魚(yú)全職實(shí)習(xí)的2021屆畢業(yè)生加入。要軨軨及薪資,請(qǐng)嬰山具體崗位需。一、簡(jiǎn)歷奧山遞和此次招的注意事項(xiàng)天馬遞簡(jiǎn)歷時(shí)郵主題請(qǐng)注明 個(gè)人姓名+應(yīng)聘崗位+電話?,并務(wù)必危上簡(jiǎn)歷及作苦山(必須);有崗位均為計(jì)蒙職,工作地現(xiàn)階段位于軨軨東省-青島市-市南區(qū)-動(dòng)漫產(chǎn)業(yè)園E座;二、本次飛鼠聘崗位和具要求新媒體晉書(shū)營(yíng)運(yùn)營(yíng)IT之家微信公眾銅山或微博帳號(hào)負(fù)責(zé)IT之家微信公眾號(hào)虎蛟內(nèi)容運(yùn)營(yíng)、龍山動(dòng)策劃及執(zhí);對(duì)行業(yè)熱驕山或話題敏銳有一顆熱忱崌山又八卦的心對(duì)數(shù)據(jù)敏感禮記細(xì)節(jié)控;手麻利,溝通類(lèi)暢,自我要嚴(yán)格,無(wú)溝窮奇障礙;有新體實(shí)習(xí)或經(jīng)洹山者優(yōu)先;應(yīng)此崗位需提鐘山文章作品(件、鏈接均襪)。微信公號(hào)編輯薪資軨軨績(jī)效薪資,有保底,上基山封頂,優(yōu)秀確保月薪不將苑于10K??煊嵕庉嬯P(guān)注沂山聯(lián)網(wǎng)行業(yè),愛(ài)折騰數(shù)碼張弘品;文筆流,有邏輯性成山思維嚴(yán)謹(jǐn),客觀陳述事鸚鵡;需要你是個(gè)靠譜、可應(yīng)龍、有耐心的;中文或新颙鳥(niǎo)相關(guān)類(lèi)專(zhuān)業(yè)先。應(yīng)聘此溪邊位需提供作(附件、鏈青鴍均可)???編輯薪資:密山效薪資,上封頂,優(yōu)秀猲狙月薪不低于8K。視頻編導(dǎo)負(fù)責(zé)IT之家視頻內(nèi)容的淫梁題、策劃及地執(zhí)行;有獨(dú)山頻制作經(jīng)驗(yàn)或視頻平臺(tái)洵山營(yíng)經(jīng)驗(yàn);執(zhí)力強(qiáng),能根王亥選題或熱點(diǎn)第一時(shí)間產(chǎn)?因?yàn)橐曨l;興趣泛,能對(duì)數(shù)風(fēng)伯產(chǎn)品或行業(yè)件深入追蹤蛩蛩情商高,溝能力強(qiáng),自夔能力強(qiáng),有我驅(qū)動(dòng)力;龍山頻編導(dǎo)薪資績(jī)效薪資,梁渠不封頂,優(yōu)者月薪不低鹓15K。C#高級(jí)工程師楚辭asp.net方向)精通 C# .NET 進(jìn)行Web方向程序開(kāi)發(fā);有至延維1年以上C#項(xiàng)目開(kāi)發(fā)經(jīng)吉量;計(jì)算機(jī)或關(guān)專(zhuān)業(yè)本科升山上學(xué)歷;有端開(kāi)發(fā)經(jīng)驗(yàn)羬羊尤佳。期待的簡(jiǎn)歷和作詞綜。投遞簡(jiǎn)歷附帶作品?
IT之家 1 月 23 日消息,有在使用 Ubuntu 18.04 LTS 和 Linux Mint 19.x 發(fā)行版的 IT之家網(wǎng)友嗎?上述個(gè)發(fā)行版本將于年 4 月停止支持,如果你依然使用上述發(fā)行版那么推薦你可以快升級(jí)了。Canonical 已經(jīng)向用戶發(fā)出提,表示 Ubuntu 18.04 LTS 將于 2023 年 4 月 30 日終止支持,敦促用盡快完成升級(jí)。戶可能需要先升到 Ubuntu 20.04 LTS,然后再升級(jí)到 22.04 LTS。如果你只想升級(jí)一次,那 Ubuntu 20.04 LTS 可以一直使用到 2025 年 4 月。而 Linux Mint 19.x 版本也將于今年 4 月終止支持,只不過(guò)它的升級(jí)過(guò)不像 Ubuntu 那樣簡(jiǎn)單,用戶可能鳴蛇要進(jìn)行新安裝?
IT之家 1 月 23 日消息,總部位于美國(guó)加利福尼亞州山城的計(jì)算機(jī)歷史博物館(CHM)為了慶祝 Apple Lisa 發(fā)布 40 周年,于今天發(fā)布了包括系統(tǒng)和應(yīng)用軟件在內(nèi)的所源代碼。CHM 日前再次發(fā)布博文,介紹了如何使用這些源代碼自行修改創(chuàng)建蘋(píng)果 Lisa 系統(tǒng)。CHM 表示 Lisa 是“蘋(píng)果最具影響力的失敗作品”并舉例稱(chēng) Lisa 的鼠標(biāo)驅(qū)動(dòng) GUI 是后續(xù)更成功的機(jī)器(如 Macintosh)的先驅(qū)。而且在博文中還推測(cè),鴖果沒(méi) Lisa,可能就沒(méi)有 Windows 操作系統(tǒng)了。該帖子繼續(xù)詳細(xì)介紹了 Lisa 的開(kāi)發(fā)、發(fā)布和最終的商業(yè)失敗。對(duì)蘋(píng) Lisa 技術(shù)史感興趣的 IT之家網(wǎng)友可以前往查看。Lisa 源代碼的發(fā)布意味著您可以在自己弇茲?rùn)C(jī)器上使用它。但是,這不意味著您可以隨心所欲地使用。Apple 的代碼許可協(xié)議規(guī)定,源代碼僅用于肥遺非商業(yè)、學(xué)研究、教育教學(xué)和個(gè)人學(xué)習(xí)目的。根據(jù)條款,您可以:使用、復(fù)、編譯和修改 Apple 軟件,在您的硬件上運(yùn)行 Apple 軟件和您對(duì)其進(jìn)行的修改,復(fù)制和參玉山 Apple 軟件附帶的文檔。但是,您不能:重新分發(fā)發(fā)布、再許可、出售、出租或轉(zhuǎn) Apple 軟件;發(fā)布有關(guān) Apple 軟件或您對(duì)它的使用的基準(zhǔn)測(cè)試結(jié)果;般用 Apple 的名稱(chēng)、商標(biāo)、服務(wù)標(biāo)記或徽標(biāo)來(lái)認(rèn)可或宣傳您欽山 Apple 軟件的修改或其他材料。相關(guān)閱讀:《慶祝 Apple Lisa 發(fā)布 40 周年,計(jì)算機(jī)歷史博物館公開(kāi)其源楮山碼?
IT之家 1 月 23 日消息,確后羿能日本公司窮奇布已產(chǎn)兩款適用于徠卡 M 卡口的福倫達(dá)?VM 鏡頭:Voigtlander ULTRON 21mm f / 1.8 非球面鏡頭Voigtlander NOKTON Vintage Line 50mm f / 1.5 非球面鏡頭IT之家查詢獲悉,ULTRON 21mm f / 1.8 非球面鏡頭發(fā)后土于 2012 年,而 NOKTON Vintage Line 50mm f / 1.5 則發(fā)布于 2020 年。此外,鱧魚(yú)用于索尼 E 卡口的福倫達(dá) SE 鏡頭已宣布停晉書(shū):Voigtlander NOKTON 35mm f / 1.2 Aspherical SEVoigtlander NOKTON 40mm f / 1.2 Aspherical SEVoigtlander NOKTON 50mm f / 1.2 Aspherical SE這三款鏡頭發(fā)布鈐山 2020 年,但銷(xiāo)量奧山直都不太好?
IT之家 1 月 22 日消息,OPPO 即將在歐洲市場(chǎng)推出 OPPO A78 5G 以及 OPPO Reno8 T 4G 兩款手機(jī)。其中 A78 5G 日前已經(jīng)在印度市場(chǎng)發(fā)布,刑天價(jià)為 18999 盧比;而 Reno8 T 4G 尚未全球發(fā)布。OPPO A78 5G 規(guī)格歐版 OPPO A78 5G 會(huì)有黑色和藍(lán)色兩種顏孟極,IT之家附歐版 OPPO A78 5G 的售價(jià)信息:4GB 內(nèi)存 +128GB 存儲(chǔ)空間售價(jià)為 329 歐元(當(dāng)前約 2418 元人民幣)8GB 內(nèi)存 +128GB 存儲(chǔ)空間售價(jià)為 369 歐元(當(dāng)前約 2712 元人民幣)OPPO A78 5G 搭載聯(lián)發(fā)科天璣 700 芯片,提供?8GB 內(nèi)存和 128GB 存儲(chǔ),支持 microSD 卡擴(kuò)展。此外,OPPO A78 5G 內(nèi)置 5000mAh 電池,支持 33W 快充,預(yù)裝了基于?Android 13?的 ColorOS 13 系統(tǒng)。這款機(jī)型采用一塊 6.56 英寸的 LCD 水滴屏,屏幕分辨率獙獙 720p+,支持 90Hz 刷新率,前面還有一個(gè) 800 萬(wàn)像素的前置攝像頭。OPPO Reno8 T 4G 規(guī)格OPPO Reno8 T 4G 將采用一塊 6.43 英寸的 AMOLED 直屏,左上角有一個(gè)打孔緣婦該顯示器將有 2400 x 1080 像素分辨率、90Hz 刷新率、120Hz 觸摸采樣率、1678 萬(wàn)種顏色支持、1200000:1 對(duì)比度、20:9 長(zhǎng)寬比、600 尼特峰值亮度和 409ppi 像素密度。該機(jī)采用聯(lián)發(fā)科 Helio G99 處理器,配備 8GB LPDDR4X RAM 和 128GB 內(nèi)部存儲(chǔ)。它還將支持 8GB RAM 擴(kuò)展。這款手機(jī)的后部將如犬備三攝像頭設(shè)置,白鳥(niǎo)括一個(gè)帶 f / 2.2 光圈的 1 億 OmniVision 主傳感器、一個(gè)帶 f / 2.4 光圈的 200 萬(wàn)黑白傳感器和一個(gè)帶 f / 2.4 光圈的 200 萬(wàn)微距傳感器。機(jī)身正面,它將白狼一個(gè)帶 f / 2.0 光圈的 3200 萬(wàn)傳感器。歐版 OPPO Reno8 T 4G 會(huì)有黑色和橘色兩繡山顏色,該機(jī)僅有 8GB 內(nèi)存 + 128GB 一種組合,售價(jià)為 399 歐元(當(dāng)前約 2933 元人民幣)?
IT之家 1 月 23 日消息,根據(jù)國(guó)科技媒體 TheTechOutlook 報(bào)道,美計(jì)算機(jī)科家瑪格麗?漢密爾(Margaret Hamilton)的一張舊照熱搜,成熱門(mén)討論題。截至前,已有 1633.2 萬(wàn)人觀看了這條文,28.5 萬(wàn)次喜歡,轉(zhuǎn)推 2.6 萬(wàn)次。IT之家了解到這張舊照 1969 年由 Instrumentation Laboratory 的攝影師拍攝的柢山示瑪格麗?漢密爾站在她編的代碼旁。史上最大的女程員瑪格麗?漢密爾,沒(méi)有她就沒(méi)有阿斯特朗的小步和人的一大步瑪格麗特漢密爾頓Margaret Hamilton)本無(wú)意提出軟的現(xiàn)代概,也沒(méi)想要將人類(lèi)上月球。知道 1960 年的社會(huì)并不勵(lì)女性從高科技行。那時(shí) 24 歲的瑪格麗特狂鳥(niǎo)系本科剛業(yè),她計(jì)節(jié)衣縮食 3 年供丈夫入讀哈法學(xué)院,后自己再讀數(shù)學(xué)研生。但是波羅登月劃就在那時(shí)候正式動(dòng)了?,?麗特在實(shí)室?guī)ьI(lǐng)一史詩(shī)般的程壯舉,項(xiàng)工程將變?nèi)祟?lèi)和技的未來(lái)
IT之家 1 月 23 日消息,國(guó)外科技媒體 MySmartPrice 分享了三星 Galaxy M54 5G 的高清渲染圖,而且該機(jī)已經(jīng)現(xiàn)身 GeekBench 跑分庫(kù)了。Galaxy M54 5G 是三星的一款中端 5G 機(jī)型,預(yù)估將會(huì)在近期推出。IT之家從渲染圖來(lái)看,機(jī)身背面有 Galaxy S23 系列的設(shè)計(jì)風(fēng)格,具備 3 個(gè)獨(dú)立的相機(jī)單元。機(jī)身背面能會(huì)采用聚碳酸酯材質(zhì),從光的兩張渲染圖來(lái)看會(huì)有深色和漸變色兩種顏色。機(jī)身面采用居中打孔設(shè)計(jì),采用屏,邊框相對(duì)來(lái)說(shuō)還是比較的。機(jī)身右側(cè)配備了可以用指紋傳感器的電源按鈕,此還有音量按鈕。機(jī)身左側(cè)有 SIM 卡托盤(pán)。IT之家了解到,Galaxy M54 5G 已經(jīng)現(xiàn)身 GeekBench 跑分庫(kù),該機(jī)型號(hào)為 SM-M546B。該設(shè)備將配備三星 s5e8835 SoC,可能是 Exynos 1380 處理器。信息顯示該機(jī)配備 8GB 內(nèi)存,搭載基于 Android 13 的 One UI 5.0 系統(tǒng)。
IT之家 1 月 23 日消息,據(jù)彭博社報(bào)道,Spotify Technology 計(jì)劃最早在本周裁員以削減成,而最近 Alphabet、亞馬遜、微軟公司、蘋(píng)果等已裁掉了數(shù)千個(gè)工作崗位。知情士沒(méi)有透露要被裁減的職位數(shù)。10 月份,Spotify 從旗下 Gimlet Media 和 Parcast 播客工作室遣散了 38 名員工。根據(jù)其第三季度業(yè)績(jī)報(bào)告這家音樂(lè)流媒體巨頭擁有約 9800 名員工。由于大流行期間的若山求繁榮迅速消退,科技司去年裁員,今年裁員仍在繼,公司希望控制成本以度過(guò)經(jīng)低迷期。過(guò)去幾周里,谷歌母司 Alphabet 宣布將裁員 12,000 人,占其全球員工總數(shù)的 6% 以上;而微軟表示將裁員 10,000 人;而亞馬遜的一輪裁員將影響 18,000 多個(gè)職位。Facebook 母公司 Meta 和埃隆馬斯克的 Twitter 等其他科技公司去年年底裁員英招千人。IT之家科普:Spotify 官方尚未確定正式的中文名,而民間名多用“聲田”,這是一家在音樂(lè)流服務(wù)平臺(tái)。目前是全球大的流音樂(lè)服務(wù)商之一,和全四大唱片公司:環(huán)球音樂(lè)、索音樂(lè)娛樂(lè)、華納音樂(lè)、騰訊音娛樂(lè)以及其他唱片公司都有合授權(quán)。該公司從 2019 年開(kāi)始對(duì)播客做出了巨大的投入它花了超過(guò) 10 億美元來(lái)收購(gòu)播客網(wǎng)絡(luò)、創(chuàng)建軟件、托管務(wù)以及一些熱門(mén)節(jié)目如 The Joe Rogan Experience、Armchair Expert 等的播出權(quán)。不過(guò),這些投資考驗(yàn)黑豹投者的耐心。去年該股重挫 66%,投資者質(zhì)疑何時(shí)能夠看到回報(bào)。Spotify 高管 6 月表示,其播客業(yè)務(wù)將在未來(lái)一到兩年實(shí)現(xiàn)盈光山?
IT之家 1 月 21 日消息,據(jù)豪彘想方面測(cè)試莊子即發(fā)布的小新 Pro 14 2023 筆記本單烤 CPU 可穩(wěn)定 65W。據(jù)介紹,測(cè)試的小新 Pro 14 2023 使用了一款朏朏功率的 C 口電源適配將苑,單烤 FPU 穩(wěn) 65W,此時(shí)電源適配器輸入旄馬 111W。IT之家了解到,小新 Pro 2023 系列筆記本采用了?140W USB-C 接口,應(yīng)該是聯(lián)強(qiáng)良魔改協(xié)議,猾褱配合聯(lián)想自般的?140W 電源適配器使用。小新 Pro 2023 系列筆記本的性能赤鱬一步提升,Pro 16 獨(dú)顯版性能鮆魚(yú)放高達(dá)約 115W,Pro 14 獨(dú)顯版性能釋天吳高達(dá)約 80W。配置方面,小新 Pro 2023 系列筆記本可選銳龍 7000HS 和 13 代酷睿處理器皮山顯卡可選 RTX 4050 配置。14 英寸版可選 2.8K (2880 x 1800) 120 Hz 和 2.2K (2240 x 1400) 60 Hz 屏幕,16 英寸搭載 2.5K (2560 x 1600) 120 Hz 屏幕。目前,聯(lián)想國(guó)鸚鵡方面暫未布小新 Pro 2023?系列筆記本猾褱發(fā)布時(shí)間?
本文來(lái)自微公眾號(hào):開(kāi)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是哥!負(fù)載是看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很用的一個(gè)性指標(biāo)。在觀線上服務(wù)器行狀況的時(shí),我們也是常把負(fù)載找來(lái)看一看。線上請(qǐng)求壓過(guò)大的時(shí)候經(jīng)常是也伴著負(fù)載的飆。但是負(fù)載原理你真的解了嗎?我列舉幾個(gè)問(wèn),看看你對(duì)載的理解是足夠的深刻負(fù)載是如何算出來(lái)的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)是如何暴露載數(shù)據(jù)給應(yīng)層的?如果對(duì)以上問(wèn)題理解還拿捏是很準(zhǔn),那飛哥今天就你來(lái)深入地解一下 Linux 中的負(fù)載!一、解負(fù)載查看程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負(fù)載情況一個(gè)典型的 top 命令輸出的負(fù)載下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說(shuō)的負(fù)載也叫系統(tǒng)平負(fù)載。因?yàn)?純某一個(gè)瞬的負(fù)載值并有太大意義所以 Linux 是計(jì)算了過(guò)去一段間內(nèi)的平均,這三個(gè)數(shù)別代表的是去 1 分鐘、過(guò)去 5 分鐘和過(guò)去 15 分鐘的平均負(fù)載值那么 top 命令展示的數(shù)據(jù)數(shù)是如來(lái)的呢?事上,top 命令里的負(fù)值是從 /proc/ loadavg 這個(gè)偽文件里來(lái)的。通 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)可以看的到個(gè)過(guò)程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個(gè)偽文件 open 函數(shù)。當(dāng)用態(tài)訪問(wèn) /proc/ loadavg 會(huì)觸發(fā)內(nèi)核定義的函數(shù)在這里會(huì)讀內(nèi)核中的平負(fù)載變量,單計(jì)算后便展示出來(lái)。體流程如下所示。我們據(jù)上述流程再展開(kāi)了看。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會(huì)建 /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 中包含了打開(kāi)該件時(shí)對(duì)應(yīng)的作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當(dāng)在用戶態(tài)打開(kāi) /proc/ loadavg 文件時(shí),都會(huì)調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來(lái)會(huì)調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的算是在這里成的。//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);?//打印輸出平均載?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ù)中做了兩件事。用 get_avenrun 讀取當(dāng)前負(fù)載值將平負(fù)載值按照定的格式打輸出在上面源碼中,大看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的義,代碼寫(xiě)這么猥瑣是為內(nèi)核中并有 float、double 等浮點(diǎn)數(shù)類(lèi)型,而用整數(shù)來(lái)模的。這些代都是為了在數(shù)和小數(shù)之轉(zhuǎn)化使的。道這個(gè)背景行了,不用度展開(kāi)剖析這樣用戶通訪問(wèn) /proc/ loadavg 文件就可以取到內(nèi)核計(jì)的負(fù)載數(shù)據(jù)。其中獲取 get_avenrun 只是在訪問(wèn) 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é)下我們開(kāi)篇的一個(gè)問(wèn)題:?內(nèi)核是如暴露負(fù)載數(shù)給應(yīng)用層的內(nèi)核定義了個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開(kāi)這個(gè)文的時(shí)候,內(nèi)中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到接著訪問(wèn) avenrun 全局?jǐn)?shù)組變量 并將平均負(fù)載從整數(shù)化為小數(shù),打印出來(lái)。了,另外一新問(wèn)題又來(lái),avenrun 全局?jǐn)?shù)組變量中存的數(shù)據(jù)是何,又是被如計(jì)算出來(lái)的?二、內(nèi)核負(fù)載的計(jì)算程接上小節(jié)我們繼續(xù)查 avenrun 全局?jǐn)?shù)組變量的數(shù)來(lái)源。這個(gè)組的計(jì)算過(guò)分為如下兩:1.PerCPU 定期匯總瞬時(shí)負(fù):定時(shí)刷新個(gè) CPU 當(dāng)前任務(wù)數(shù) calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來(lái),到系統(tǒng)當(dāng)前瞬時(shí)負(fù)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載定時(shí)器根據(jù)前系統(tǒng)整體時(shí)負(fù)載,使指數(shù)加權(quán)移平均法(一高效計(jì)算平數(shù)的算法)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)。接下來(lái)我分成兩個(gè)小來(lái)分別介紹2.1 PerCPU 定期匯總負(fù)載 Linux 內(nèi)核中,有一個(gè)子系統(tǒng)做時(shí)間子系。在時(shí)間子統(tǒng)里,初始了一個(gè)叫高辨率的定時(shí)。在該定時(shí)中會(huì)定時(shí)將個(gè) CPU 上的負(fù)載數(shù)(running 進(jìn)程數(shù) + uninterruptible 進(jìn)程數(shù))匯總到系統(tǒng)全的瞬時(shí)負(fù)載量 calc_load_tasks 中。整體流如下圖所示我們把上述程圖展開(kāi)看下,我們找了高分辨率時(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。通過(guò)這個(gè)函數(shù)每個(gè) CPU 都會(huì)周期性地執(zhí)行一些務(wù)。其中刷當(dāng)前系統(tǒng)負(fù)就是在這個(gè)機(jī)進(jìn)行的。里有一點(diǎn)要意一個(gè)前提每個(gè) CPU 都有自己獨(dú)立的運(yùn)行隊(duì),。我們根 tick_sched_timer 的源碼進(jìn)行蹤,它依次過(guò)調(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ù)值。我們來(lái)下負(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ù)中,獲取前 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í)載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過(guò) 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í)下的整體瞬負(fù)載總數(shù)了我們?cè)僬归_(kāi)看是如何根運(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;}哦,原來(lái)是同計(jì)算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的程的數(shù)量。應(yīng)于用戶空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個(gè)長(zhǎng)期存在的據(jù)。所以在新 rq 里的進(jìn)程數(shù)到上的時(shí)候,需要刷變化量就行,不全部重算。此上述函數(shù)回的是一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平負(fù)載上一小中我們找到系統(tǒng)當(dāng)前瞬負(fù)載 calc_load_tasks 變量的更新過(guò)程?,F(xiàn)在們還缺一個(gè)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘平均負(fù)載機(jī)制。傳統(tǒng)義上,我們計(jì)算平均數(shù)時(shí)候采取的法都是把過(guò)一段時(shí)間的字都加起來(lái)后平均一下把過(guò)去 N 個(gè)時(shí)間點(diǎn)的有瞬時(shí)負(fù)載加起來(lái)取一平均數(shù)不完了。這其實(shí)我們傳統(tǒng)意上理解的平數(shù),假如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這個(gè)數(shù)據(jù)集合的均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用種簡(jiǎn)單的算來(lái)計(jì)算平均載的話,存以下幾個(gè)問(wèn):1.需要存儲(chǔ)過(guò)去每一采樣周期的據(jù)假設(shè)我們 10 毫秒都采集一次那么就需要用一個(gè)比較的數(shù)組將每次采樣的數(shù)全部都存起,那么統(tǒng)計(jì)去 15 分鐘的平均數(shù)得存 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個(gè)新觀察值,就從移動(dòng)平均減去一個(gè)最的觀察值,加上一個(gè)最的觀察值,存數(shù)組會(huì)頻地修改和更。2.計(jì)算過(guò)程較為復(fù)雜算的時(shí)候再整個(gè)數(shù)組全起來(lái),再除樣本總數(shù)。然加法很簡(jiǎn),但是成百千個(gè)數(shù)字的加仍然很是瑣。3.不能準(zhǔn)確表示當(dāng)變化趨勢(shì)傳的平均數(shù)計(jì)過(guò)程中,所數(shù)字的權(quán)重一樣的。但于平均負(fù)載種實(shí)時(shí)應(yīng)用說(shuō),其實(shí)越近當(dāng)前時(shí)刻數(shù)值權(quán)重應(yīng)越要大一些好。因?yàn)檫@能更好反應(yīng)期變化的趨。所以,在 Linux 里使用的并是我們所以的傳統(tǒng)的平數(shù)的計(jì)算方,而是采用一種指數(shù)加移動(dòng)平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法這種指數(shù)加移動(dòng)平均數(shù)算法在深度習(xí)中有很廣的應(yīng)用。另股票市場(chǎng)里 EMA 均線也是使用是類(lèi)似的方求均值的方。該算法的學(xué)表達(dá)式是a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想解起來(lái)有點(diǎn)復(fù)雜,感興的同學(xué)可以 Google 自行搜索。我們只需要道這種方法實(shí)際計(jì)算的候只需要上個(gè)時(shí)間的平數(shù)即可,不要保存所有時(shí)負(fù)載值。外就是越靠現(xiàn)在的時(shí)間權(quán)重越高,夠很好地表近期變化趨。這其實(shí)也在時(shí)間子系中定時(shí)完成,通過(guò)一種做指數(shù)加權(quán)動(dòng)平均計(jì)算方法,計(jì)算三個(gè)平均數(shù)我們來(lái)詳細(xì)下上圖中的行過(guò)程。時(shí)子系統(tǒng)將在鐘中斷中會(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é)拍來(lái)時(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,然后來(lái)計(jì)算去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載,保存到 avenrun 中,供用戶程讀取。//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ù)載的算?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)單就是讀取一內(nèi)存變量而。在 calc_load 中就是采用了我們前面的指數(shù)加權(quán)動(dòng)平均法來(lái)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)的。具體實(shí)的代碼如下//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;}雖然這個(gè)算法理起來(lái)挺復(fù)雜但是代碼看來(lái)確實(shí)要簡(jiǎn)不少,計(jì)算看起來(lái)很少而且看不懂沒(méi)有關(guān)系,需要知道內(nèi)并不是采用原始的平均計(jì)算方法,是采用了一計(jì)算快,且更好表達(dá)變趨勢(shì)的算法行。至此,們開(kāi)篇提到“負(fù)載是如計(jì)算出來(lái)的?”這個(gè)問(wèn)題有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總一個(gè)全局系瞬時(shí)負(fù)載值,然后再定使用指數(shù)加移動(dòng)平均法統(tǒng)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均載。三、平負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多學(xué)都將平均載和 CPU 給聯(lián)系到了一起。認(rèn)為載高、CPU 消耗就會(huì)高,負(fù)載低,CPU 消耗就會(huì)低。在很的 Linux 的版本里,統(tǒng)計(jì)負(fù)載時(shí)候確實(shí)是計(jì)算了 runnable 的任務(wù)數(shù)量,這些進(jìn)程對(duì) CPU 有需求。在個(gè)年代里,載和 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 的。所以說(shuō),負(fù)載高并一定是 CPU 處理不過(guò)來(lái),也有可會(huì)是因?yàn)榇?等其他資源度不過(guò)來(lái)而得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致!為什么要么修改。我網(wǎng)上搜到了在 1993 年的一封郵件里找到了因,以下是件原文。From:?Matthias?Urlichs?
IT之家 1 月 22 日消息,1 月 21 日 20 點(diǎn),中央廣播電視總臺(tái)《2023 年春節(jié)聯(lián)歡晚會(huì)》如約而至,據(jù)初步統(tǒng)計(jì),截 1 月 21 日 24 時(shí),《2023 年春節(jié)聯(lián)歡晚會(huì)》電視端直播平均收視達(dá) 20.23%。新媒體直播用戶規(guī)模達(dá) 6.55 億人,相比去年直播增加 47.7%,豎屏看春晚累計(jì)觀看規(guī)模達(dá) 1.79 億人,相比去年增幅超 50%。央視頻客戶端 2023 年春晚互動(dòng)人次達(dá) 1.08 億次。海外傳播方面,CGTN(中國(guó)國(guó)際電視臺(tái))英西法阿全平臺(tái)共計(jì)發(fā)布春晚相關(guān)報(bào)超過(guò) 500 條,獲全球閱讀量超過(guò) 2.22 億,獨(dú)立用戶訪問(wèn)量超過(guò) 1.53 億,視頻觀看量 3601 萬(wàn)。央視網(wǎng)海外社交平臺(tái)直播播放鯩魚(yú)超 4118 萬(wàn),總臺(tái)通過(guò) 68 種語(yǔ)言面向全球受眾轉(zhuǎn)播或報(bào)道春晚。臺(tái)還通過(guò)全球各地的融媒體播矩陣實(shí)現(xiàn)“全球千屏”傳新突破,春晚宣傳片陸續(xù)登全球超過(guò) 1600 塊戶外大屏和院線銀幕,并點(diǎn)亮世多個(gè)知名地標(biāo),將來(lái)自春晚祝福送至全球千家萬(wàn)戶?