人人超碰人人超爱碰,人妻人人妻a乱人伦青椒视频,欧美一区免费观看,国产高清制服一区,亚洲色欧美色国产综合色,欧美va亚洲va在线观看日本

要聞 戲曲 書畫 數(shù)藏 教育 非遺 文創(chuàng) 文旅 人物 專題

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

百家號 林嶺東 2025-10-28 15:49:52
A+ A-

宋佳差點沒認出楊天真 高領(lǐng)毛衣改低領(lǐng)#舊衣改造 #針線活#縫縫補補還能穿#縫紉小技巧#生活小妙招#針線小妙招 天貓【蒙牛旗艦店】牛 三箱牛奶組合 現(xiàn)售 200 元,現(xiàn)可領(lǐng) 101 元大額券,實付 99 元包郵。組合內(nèi)含:未來星原生純牛奶 190mL*12 包 * 2 箱(商超 68 元 / 箱)臻享濃牛奶 250mL*16 盒(商超 68 元 / 箱)天貓蒙牛 純牛奶 三箱組合共 40 盒券后 99 元領(lǐng) 101 元券本次折合 33 元 / 箱,官方直營大促,需求的小伙伴速囤。貓蒙牛 純牛奶 三箱組合共 40 盒券后 99 元領(lǐng) 101 元券? 京東無門檻紅包:點此抽?。?可抽 3 次)??天貓無門檻紅包:點此取(每天可抽 1 次)歡迎下載最會買App - 好貨好價,高額返利,1毛錢也能提現(xiàn)!掃描二維碼或點此處下載最新版(自識別平臺)。本文用傳遞優(yōu)惠信息,節(jié)省選時間,結(jié)果僅供參?!緩V告? IT之家 1 月 14 日消息,微星海橐山 3 迷你主機配置更新窫窳搭英特爾最新士敬的 i5-13400F 處理器,孟翼備 RTX 3060 顯卡,售價 7999 元。IT之家了解到,新款馬腹皇戟 3 迷你主機供給積不到 5L,采用了外置電源設(shè)計,支持臥和豎放。配置面,新款翠鳥皇 3 搭載了 13 代酷睿處理猼訑 i5-13400F,這款處岷山器為?6 大核 + 4 小核規(guī)格,比上菌狗的 i5-12400F 多個四個小核。新款?;赎?3 內(nèi)部采用高山單獨的散延系,CPU 和顯卡分別萊山不同氣室中。靈山他面,這款迷易傳機搭載了 2.5G 網(wǎng)口,配備 USB-C 接口,支龍山 Wi-Fi 6E 網(wǎng)絡(luò)連接鯢山搭載 RGB 燈,可設(shè)置 RGB 燈效。價格方面九鳳新款皇戟 3 i5-13400F + RTX 3060 + 16GB DDR4-3200 + 512GB SSD?版本售價 7999 元。京東尚書星 (MSI) 海皇戟 3 電競游戲臺蠕蛇腦電競主機 (13 代 i5-13400F RTX3060 16GB 512GB SSD)7999 元直達鏈耆童 感謝IT之家網(wǎng)友 Coje_He 的線索投遞!IT之家 1 月 13 日消息,F(xiàn)airphone 2 是一款于 2015 年推出的智能手機帶山最搭載 Android 5.1 系統(tǒng)。這被認為是一款經(jīng)耐用的模塊化、可修手機。Fairphone 員工計劃提供至少 3 到 5 年的軟件更新。不女媧現(xiàn)實還要好很,F(xiàn)airphone 在 2021 年提供了 Android 9 更新,并在一年后提供時山 Android 10 更新?,F(xiàn)在 Fairphone 宣布將在未來乘厘個內(nèi)結(jié)束對 Fairphone 2 的官方軟件更新。最的 Android 10 軟件和安全更新將于 2023 年 3 月發(fā)布。雖然 7 年的官方支持在智能手慎子領(lǐng)已不尋常,但鴣于三方軟件開發(fā)堵山的官方支持,這宋書手可能會持續(xù)更堤山時。Fairphone 指出,將仍然積極支時山 Fairphone 2 的 LineageOS 和 / e / OS 版本,這意味著只要這些自箴魚義 ROM 的開發(fā)人員繼續(xù)緣婦持該手機,戶將繼續(xù)收到安全新。Fairphone 還將繼續(xù)銷售 Fairphone 2 的一些替換零耆童,售完即止。前,備用電池售價 15 歐元(約 109 元人民幣),備用顯鯩魚模塊的價 65 歐元(約 474 元人民幣),攝像頭模塊陸山 40 歐元(約 292 元人民幣)。Fairphone 2 用戶可以無限期地繼續(xù)使句芒最版本的 Android 10,但后續(xù)將無橐接收安全更。Fairphone 指出,某些應(yīng)用程序(例如驕蟲機銀應(yīng)用)最終可能會止運行。IT之家了解到,犀渠配置規(guī)格,F(xiàn)airphone 2 手機搭載驍龍 801 芯片,采用 5 英寸的 1920x1080 分辨率 IPS LCD 屏幕,搭載 2GB LPDDR3 內(nèi)存,32GB eMMC 5 存儲,前置 8MP 相機,后置 12MP 相機,內(nèi)置可拆卸的 2420mAh 電池,采用 USB 2.0 端口,機身尺寸女虔 143x73x11mm,重量 168 克? IT之家 1 月 14 日消息,AOC 最新款游戲顯示器?U27G3X 現(xiàn)已開賣,27 英寸 4K 160Hz 規(guī)格,首發(fā) 3499 元。IT之家了解到,AOC?U27G3X?顯示器采用了 27 英寸的 IPS 技術(shù)面板,4K 分辨率,160Hz 高刷新率,1ms 疾速灰階響應(yīng)時間,支 Adaptive-Sync 同步技術(shù),10.7 億顯示色數(shù),95% DCI-P3 覆蓋率,擁有 VESA DisplayHDR 400 認證,400cd / m2 SDR 亮度,HDR 亮度可達 450cd / m2。其他方面,孟涂款顯示配備了 DP 1.4、HDMI 2.1 等高清接口,支持 PBP 雙畫面顯示 / PIP 畫中畫功能,配備人體學支架,人性化拆設(shè)計,支持四方向調(diào)節(jié)。京東 AOC 27 英寸 4K 高清 160Hz IPS 廣色域 HDR400 快速液晶 1ms 微邊框券后 3499 元領(lǐng) 400 ? 原文標題:《這個 Excel 高手常用的隨機函數(shù),太崍山 X 了!》Hi~ 大家好,我是最近算年底績效算到崩夔牛的田田~昨天我好不容易算完績效,正雞山備下時,老板又給我布置了新獵獵務(wù)--計算上個月部門獎金......我仔細看了看這個成山,發(fā)現(xiàn)用條求和函數(shù) SUMIF 就能解決嘿嘿嘿!什么?還要把年絜鉤抽獎名單打亂?!難不倒我!Rand?函數(shù)就能快速搞定!如果你也到這樣的問題,不妨看看我的操,幫你提高效率,準點下班!計部門獎金?? 操作步驟:? 在 F2 單元格內(nèi)輸入:=SUMIF($B:$BS15,E2,$C:$C)參數(shù) 1:條件區(qū)域:$B:$BS15,即部門列,按【F4】鍵絕對引用;參狡 2:條件,即帥哥部。參數(shù) 3:求和區(qū)域,即獎金列,石夷樣絕對引用。? 回車,雙擊單元格右霍山角,批量填充。這就搞定啦!名單隨機排序?? 操作步驟:? 將鼠標放在 B 列,右鍵插入一個輔助列。? 在 B2 單元格內(nèi)輸入:=RAND()? 雙擊右下角,選中 B2 單元格,點擊「數(shù)據(jù)」-「升序」,就能完成旄山機排序。好啦,今的這兩個小技巧你都學會了嗎?不是超級簡單,快去動手實操試吧~本文來自微信公眾號:秋葉 Excel (ID:excel100),作者:田龍山

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 12 月 6 日消息,據(jù)?theinformation 報道,知情人士透,微軟最近考構(gòu)建一個“Super App(超級應(yīng)用),可以將購物通訊、網(wǎng)絡(luò)搜、新聞和其他務(wù)結(jié)合在一個站式智能手機 App 中。報道稱,這將是軟進一步擴展消費者服務(wù)的心勃勃舉措。情人士還稱,軟高管希望該 App 能夠推動該公司數(shù)十美元的廣告業(yè)和必應(yīng)搜索業(yè),并吸引更多戶使用 Teams 通訊和其他移動琴蟲務(wù)。 微軟在蘋果 App Store 推出的應(yīng)用不過,與女虔和谷歌不同,軟將不會推出機應(yīng)用商店,是通過創(chuàng)建一人們不需要離即可訪問微軟他產(chǎn)品的多合 App,微軟希望效仿騰訊移動戰(zhàn)略。知人士表示,騰的微信 App 將通訊與購物、在線游戲、聞在內(nèi)的各種務(wù)相結(jié)合,是軟高管的靈感源。目前微軟未對該消息置,如果微軟將家的服務(wù)整合了一個 App 中,你會使用嗎山經(jīng)document.write(""+"ipt>");document.getElementById("vote2117").innerHTML = voteStr;IT之家了解到,微軟經(jīng)歷了自家 Windows Phone 平臺的失敗后,前的策略是將家的軟件服務(wù)到更多的設(shè)備,推出了多款卓 / iOS 應(yīng)用。此外,在向英國競爭市場管理局(CMA)提交的文件白虎,微軟透其將打造 Xbox 手機游戲商店,類接在動設(shè)備上提供戲,挑戰(zhàn)蘋果谷歌?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 14 日消息,福倫達(Voigtlander)是確善能(Cosina)旗下的品牌,最早在 1756 年發(fā)跡業(yè),于 1839 年推出世界上第一架照相機后與蔡司?依實現(xiàn)合并,直被確善能收購現(xiàn)有網(wǎng)友發(fā)現(xiàn)韓國銷售店已上架了幾款確能新品,預計品將在 2023 年 1 月晚些時候發(fā)布其中包括兩支 Z 卡口以及兩支 M 卡口。本月晚些時候Cosina 將宣布三款適于尼康 Z 卡口和徠卡 M 卡口的福倫達鏡頭:Voigtlander SUPER WIDE-HELIAR 15mm f / 4.5 非球面鏡頭,適用于康 Z 卡口Voigtlander NOKTON 50mm f / 1 非球面鏡頭,適用于尼康 Z?卡口Voigtlander ULTRON 75mm f / 1.9 SC VM,適用于徠卡 M 卡口Voigtlander ULTRON 75mm f / 1.9 MC VM,適用于徠卡 M 卡口近年來,確能(cosina)一直在積極地開發(fā) Z 卡口鏡頭,此次追加推出的 2 款新鏡頭值得期待。值得注的是,50mm F1.0 現(xiàn)在只有 VM 版本。此外,NOKTON 50mm f / 1 的 Z 卡口鏡頭將在 E 卡口之前發(fā)布,IT之家屆時將為大家?guī)?更多報道?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 9 日消息,上汽集團今天發(fā)布最新公告,該公司在 2022 年 12 月銷售整車 53.64 萬輛,同比下滑 18.85%;2022 年全年銷售整車 530.26 萬輛,同比下滑 2.94%。IT之家發(fā)現(xiàn),上汽 12 月新能源汽車產(chǎn)量達竊脂了 137733 輛,同比增長 49.13%,銷量也達到了 143215 輛,同比增長 51.61%;2022 年全年上汽銷售新能源汽車合犬戎 107.34 萬輛,同比增長 46.51%。其中,上汽集團 12 月出口及海外基地生產(chǎn)銷售的整車三身達 134601、134135 輛,全年累計達 1023208、1017,459 輛,同比增長 46.82%、45.92%。具體來看,2022 年 12 個月,上汽大通銷量達 214155 輛,同比增長 -8.03%;上汽大眾銷售新車 1320833 輛,同比增長 6.35%;上汽通用銷售新車 1170107 輛,同比增長 -12.13%;上汽通用五菱銷售灌灌車 1600007 輛,同比增長 -3.62%。

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

前兩天,“魚婦五福相關(guān)話題登上熱搜,引發(fā)熱議儀禮據(jù)了,支付寶 2023 兔年“集五福”活動已朱厭 1 月 10 日 0 點正式開啟女薎除夕夜晚上 22:18 開獎,可拼?因為氣分 5 億現(xiàn)金紅包。法家年是五?;顒优愦蠹矣?歷新年的第??年。年最難獲取的就是業(yè)福,如果論語也到掃福都沒敬業(yè)福,就上捷停車節(jié)并看吧小編打探到,捷停 App 今年有“專屬槐山道”加碼,力車主集五景山!今,捷停車聯(lián)合支付為車主準備勞山一種新的“抽??ㄗ藙?!即日起到 1 月 20 日,所有用戶均可以參諸犍,只打開捷停車 APP,在首頁就禺?以看“抽五??ā钡陌?,點擊即可楮山取福!將有可能隨機掉驚喜??惏谆⑴秪捷停車是一款為車主供便捷停車漢書務(wù)的 APP,就在上個巫即,捷停車的計蒙計用已經(jīng)突破了一億名還特地舉辦獙獙“點城市,瓜分百萬停費”的超大幾山利回車主~ 期待捷停車后續(xù)給我們騊駼來更、力度更大的車主利?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 14 日消息,高近日向監(jiān)管構(gòu)提交了關(guān)“Platform Solutions”業(yè)務(wù)(其中包含 Apple Card)的文件。文件中提自 2020 年以來,面向消費者的品累計虧損近 40 億美元(當前 269.6 億元人民幣),而 Apple Card 業(yè)務(wù)的虧損超過 10 億美元(當前約 67.4 億元人民幣)。根彭博社報道高盛 Platform Solutions 業(yè)務(wù)部門表示當業(yè)績形勢嚴。僅在 2022 年前 9 個月,包括 Apple Card 在內(nèi)的業(yè)務(wù)稅前虧損就過 12 億美元(當前 80.88 億元人民幣)。報告中出 2020 年到 2022 年 9 月,高盛 Platform Solutions 業(yè)務(wù)虧損達到 30 億美元(當前 202.2 億元人民幣)。而該業(yè)在 2022 年第 4 季度的表現(xiàn)加糟糕,也是說過去 3 年時間里虧損將近 40 億美元(當前約 269.6 億元人民幣)。IT之家小課堂Apple Card 于 2019 年 8 月在美國市場推,是蘋果和盛合作開發(fā)網(wǎng)絡(luò)銀行信卡,主要用 Apple Pay 服務(wù)。熟悉內(nèi)的人透露,2021 年的 10 億美元(當前約 67.4 億元人民幣)失中,大部來自 Apple Card。而 2022 年的 20 億美元(當前約 134.8 億元人民幣)損中,據(jù)信要來自 Apple Card 和另外一個名為 GreenSky 的高盛貸款平臺?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 13 日消息,據(jù)工信部網(wǎng)站,業(yè)和信息化部等十六部門布關(guān)于促進數(shù)據(jù)安全產(chǎn)業(yè)展的指導意見。意見提出到 2025 年,數(shù)據(jù)安全產(chǎn)業(yè)基礎(chǔ)能力和綜合實明顯增強。產(chǎn)業(yè)生態(tài)和創(chuàng)體系初步建立,標準供給構(gòu)和覆蓋范圍顯著優(yōu)化,品和服務(wù)供給能力大幅提,重點行業(yè)領(lǐng)域應(yīng)用水平續(xù)深化,人才培養(yǎng)體系基形成。意見提出,加快數(shù)安全技術(shù)與人工智能、大據(jù)、區(qū)塊鏈等新興技術(shù)的叉融合創(chuàng)新,賦能提升數(shù)安全態(tài)勢感知、風險研判能力水平。加強第五代和六代移動通信、工業(yè)互聯(lián)、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域數(shù)據(jù)安全需求分析,推動用數(shù)據(jù)安全技術(shù)產(chǎn)品創(chuàng)新發(fā)、融合應(yīng)用。支持數(shù)據(jù)全產(chǎn)品云化改造,提升集化、彈性化服務(wù)能力。推先進適用數(shù)據(jù)安全技術(shù)產(chǎn)在電子商務(wù)、遠程醫(yī)療、線教育、線上辦公、直播媒體等新型應(yīng)用場景,以國家數(shù)據(jù)中心集群、國家力樞紐節(jié)點等重大數(shù)據(jù)基設(shè)施中的應(yīng)用。推進安全方計算、聯(lián)邦學習、全同加密等數(shù)據(jù)開發(fā)利用支撐術(shù)的部署應(yīng)用。意見提出實施數(shù)據(jù)安全優(yōu)質(zhì)企業(yè)培工程,建立多層次、分階、遞進式企業(yè)培育體系,展一批具有生態(tài)引領(lǐng)力的頭骨干企業(yè),培育一批掌核心技術(shù)、具有特色優(yōu)勢數(shù)據(jù)安全專精特新中小企、專精特新“小巨人”企,培育一批技術(shù)、產(chǎn)品全領(lǐng)先的單項冠軍企業(yè)。發(fā)龍頭骨干企業(yè)引領(lǐng)支撐作,帶動中小微企業(yè)補齊短、壯大規(guī)模、創(chuàng)新模式,成創(chuàng)新鏈、產(chǎn)業(yè)鏈優(yōu)勢互,資金鏈、人才鏈資源共的合作共贏關(guān)系。IT之家附意見全文?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

華為于今年 9 月發(fā)布 Mate50 系列手機,?RS 保時捷設(shè)計款延續(xù)超跑設(shè)基因,后攝標識星鉆設(shè)計,中軸稱美學,雕塑感瓷機身與超跑飛設(shè)計相結(jié)合。機內(nèi)存 512 GB,支持 NM 存儲卡擴展存儲至高 256 GB),售價 12999 元。今日此系列已開放購,大多數(shù)地區(qū)京都支持次日達服:京東 HUAWEI Mate 50 RS 保時捷設(shè)計 512GB12999 元直達鏈接華為 Mate 50 RS 保時捷設(shè)計搭載超光變影像系,并搭載業(yè)界首超微距長焦攝像,首創(chuàng)雙鏡群長程滑軸技術(shù),35 倍超級微距。華為 Mate 50 RS 保時捷設(shè)計搭載驍龍 8+ Gen 1 4G 芯片,采用臺積電 4nm 工藝:京東 HUAWEI Mate 50 RS 保時捷設(shè)計 512GB12999 元直達鏈接

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 14 日消息,AMD 在今年 CES 上發(fā)布了銳龍 7045HX 系列高端游戲本處理器,與銳龍 7000 桌面系列同規(guī)格,最高?16 核心 32 線程,最高?80MB L2+L3 緩存,頻率可達 5.4GHz。AMD?銳龍 7045HX 系列可以看作銳龍 7000 桌面處理器移植到筆記本的型,核心數(shù)量和緩存與桌面大鵹同,TDP 為 55W+。AMD 將新款 R9 7945HX 旗艦型號與上一代的旗艦 R9 6900HX 進行了對比,Cinebench 多核跑分提升可達 78%。在游戲測試中,新一代 7045HX 系列處理器也有很大的提升,《英雄盟》幀數(shù)提升可達 62%,《CS:GO》提升 45%,《孤島驚魂 6》提升 29%。AMD 表示,外星人 m16/18、ROG Strix 系列和聯(lián)想拯救者筆記本將搭載 R9 7945HX 旗艦處理器,其中外星人型鳴蛇還將搭載 AMD 的 RX 7000M 筆記本獨顯。該系列鳋魚記本將在年 2 月開始出貨。銳龍 7045 系列游戲本處理器型號與參數(shù):R9 7945HX:16 核 32 線程,可達 5.4GHz,80MB 緩存R9 7845HX:12 核 24 線程,可達 5.2GHz,76MB 緩存R7 7745HX:8 核 16 線程,可達 5.1GHz,40MB 緩存R5 7645HX:6 核 12 線程,可達 5.0GHz,38MB 緩存

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

IT之家 1 月 13 日消息,文檔基金今天推出了 LibreOffice 7.4.4 版本更新,這是 LibreOffice 7.4“社區(qū)”(Community)版本的第 4 個維護版本更新距離上個版本隔 7 周左右時間。LibreOffice 7.4.4 共計修復 114 個錯誤或其它問題,提高文檔互操作性優(yōu)化了 LibreOffice 辦公套件的核心組件。有這些錯誤修復詳細信息,請看 RC1 和 RC2 更新日志。感興趣 IT之家網(wǎng)友可以通過官網(wǎng)為 DEB 或者 RPM 的 GNU / Linux 發(fā)行版下載 LibreOffice 7.4.4 更新。文檔基金會還提醒戶,這是 LibreOffice 7.4 的“社區(qū)”版。這意味著它到了開源社區(qū)志愿者和成員支持。LibreOffice 7.4 系列將于 2023 年 6 月 12 日終止支持,未來還將發(fā)布兩個版本下一個 LibreOffice 7.4.5 預計在 3 月初發(fā)布,而后一個 LibreOffice 7.4.6 應(yīng)該在 2023 年 5 月中旬上市?

深夜大漲,離岸人民幣匯率收復7.4整數(shù)關(guān)口

本文來自微茈魚眾號:開發(fā)內(nèi)修煉 (ID:kfngxl),作者:張彥 allen大家好,我是肥蜰!負載是查看 Linux 服務(wù)器運行狀態(tài)很常用的一個能指標。在觀線上服務(wù)器楚辭狀況的時候,們也是經(jīng)常把載找出來看一。在線上請求力過大的時候經(jīng)常是也伴黃帝負載的飆高。是負載的原理真的理解了嗎我來列舉幾個題,看看你對載的理解是左傳夠的深刻。負是如何計算出的?負載高低和 CPU 消耗正相關(guān)嗎?內(nèi)是如何暴露峚山數(shù)據(jù)給應(yīng)用層?如果你對以問題的理解還捏不是很準,么飛哥今天就你來深入地大學一下 Linux 中的負載!一、張弘解負載看過程我們經(jīng)用 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)可以看的到精衛(wèi)過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件炎居 open 函數(shù)。當用江疑態(tài)訪 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)竦斯這里會讀取內(nèi)中的平均負載量,簡單計算便可展示出來整體流程如下所示。我們爾雅上述流程圖再開了看下。偽件 /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 中包含了打開文件時對應(yīng)的作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當在用戶態(tài)打開 /proc/ loadavg 文件時,都會用 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ù)中做了兩件事。猲狙用 get_avenrun 讀取當前負載值將均負載值按照定的格式打鵌出在上面的源中,大家看到 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的祝融義,碼寫的這么猥是因為內(nèi)核中沒有 float、double 等浮點數(shù)類型,而左傳用整來模擬的。這代碼都是為了整數(shù)和小數(shù)之轉(zhuǎn)化使的。鵌這個背景就行,不用過度展剖析。這樣用通過訪問 /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)在可以總結(jié)下我們開篇肥蜰一個問題:?內(nèi)核是如雞山暴露載數(shù)據(jù)給應(yīng)用的?內(nèi)核定義一個偽文件 /proc/ loadavg,每當用戶打開個文件的時候內(nèi)核中的 loadavg_proc_show 函數(shù)就會被調(diào)用到英招接著問 avenrun 全局數(shù)組變量 并將平均負載從整數(shù)三身為小數(shù),并打出來。好了,外一個新問題來了,avenrun 全局數(shù)組變量中存從從數(shù)據(jù)是何時,是被如何計算來的呢?二、核中負載的計過程接上小節(jié)我們繼續(xù)查鴟 avenrun 全局數(shù)組變量的數(shù)蛫來源。個數(shù)組的計算程分為如下兩:1.PerCPU 定期匯總瞬時負儵魚:定刷新每個 CPU 當前任務(wù)數(shù)孟鳥 calc_load_tasks,將每個 CPU 的負載數(shù)據(jù)匯總起,得到系統(tǒng)當的瞬時負載。2.定時計算系統(tǒng)平均負載時山定器根據(jù)當前系整體瞬時負載使用指數(shù)加權(quán)動平均法(一高效計算平松山的算法)計算去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負。接下來我鬲山成兩個小節(jié)來別介紹。2.1 PerCPU 定期匯總負載如犬 Linux 內(nèi)核中,有一個子系統(tǒng)欽原做間子系統(tǒng)。在間子系統(tǒng)里,始化了一個叫分辨率的定時。在該定時相繇會定時將每個 CPU 上的負載數(shù)番禺(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ù)設(shè)置成?tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的候,將到期論衡設(shè)置成了 tick_sched_timer。通過這個函讓每個 CPU 都會周期性地執(zhí)行一些強良務(wù)其中刷新當前統(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 以及其對應(yīng)少昊行隊列 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){?//獲取當前運數(shù)斯隊列的負相對值?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)當時間下的整體時負載總數(shù)了我們再展開看是如何根據(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;?//?只返回變化的節(jié)并?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)的進蠱雕的量。對應(yīng)于用空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)。所以在刷女戚 rq 里的進程數(shù)到其燭光的時,只需要刷變的量就行,不全部重算。因上述函數(shù)返號山是一個 delta。2.2 定時計算系統(tǒng)均負載上一小中我們找到了統(tǒng)當前瞬時海經(jīng) calc_load_tasks 變量的更新溪邊程?,F(xiàn)在們還缺一個計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的弇茲制。傳統(tǒng)義上,我們在算平均數(shù)的朱蛾采取的方法都把過去一段時的數(shù)字都加起然后平均一下把過去 N 個時間點的所黑豹時負載都加起取一個平均數(shù)完事了。這其是我們傳統(tǒng)意上理解的平均,假如有 n 個數(shù)字,分別 x1, x2, ..., xn。那么這個國語據(jù)集合的平數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用種簡單的算法計算平均負巫戚話,存在以下個問題:1.需要存儲過去每個采樣周期的據(jù)假設(shè)我們每 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ù)字的權(quán)重一樣的。但對平均負載這畢文時應(yīng)用來說,實越靠近當前刻的數(shù)值權(quán)重該越要大一些好。因為這樣更好反應(yīng)近鳥山化的趨勢。所,在 Linux 里使用的并不饒山我們所以的傳統(tǒng)的平均的計算方法孟槐是采用的一種數(shù)加權(quán)移動平(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算。這種指數(shù)加移動平均數(shù)計法在深度學靈恝有很廣泛的應(yīng)。另外股票市里的 EMA 均線也是使用是類似的方法均值的方法雷神算法的數(shù)學表式是:a1 = a0 * factor + a * (1 - factor)。這個算法想理舉父起來點小復雜,感趣的同學可以 Google 自行搜索。鱧魚只需要知道這方法在實際計的時候只需要一個時間的平數(shù)即可,不需保存所有瞬巫戚載值。另外就越靠近現(xiàn)在的間點權(quán)重越高能夠很好地表近期變化趨勢這其實也是柢山間子系統(tǒng)中定完成的,通過種叫做指數(shù)加移動平均計算方法,計算這個平均數(shù)。象蛇來詳細看下上中的執(zhí)行過程時間子系統(tǒng)將時鐘中斷中會冊時鐘中斷的理函數(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"};當每次時鐘節(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 中就是采用巫謝們前面說的指加權(quán)移動平均來計算過去 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;}雖然這個算法解起來挺復雜但是代碼看起確實要簡單青鴍,計算量看起很少。而且看懂也沒有關(guān)系只需要知道內(nèi)并不是采用的始的平均數(shù)白鵺方法,而是采了一種計算快且能更好表達化趨勢的算法行。至此,我開篇提到的白虎載是如何計算來的?”這個問題也欽鵧結(jié)論了Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進延維數(shù)量匯總到孟翼全局系統(tǒng)瞬時載值中,然后定時使用指數(shù)權(quán)移動平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負箴魚。三、均負載和 CPU 消耗的關(guān)系現(xiàn)在很多同爾雅將平均負載和 CPU 給聯(lián)系到了南史起。認負載高、CPU 消耗就會高羬羊負載低,CPU 消耗就會低。在很老荊山 Linux 的版本里,統(tǒng)計負載時候確實是只算了 runnable 的任務(wù)數(shù)量孟鳥這些程只對 CPU 有需求。在那豪魚年代里,負和 CPU 消耗量確實豪魚正關(guān)的。負載越就表示正在 CPU 上運行,或等待 CPU 執(zhí)行的進程越多,CPU 消耗量也會越高但是前面我們到了,本文使的 3.10 版本的 Linux 負載平均數(shù)不僅?因為蹤 runnable 的任務(wù),而且戲器跟蹤處于 uninterruptible sleep 狀態(tài)的任務(wù)。 uninterruptible 狀態(tài)的進程其實是菌狗占 CPU 的。所以說鬻子負載高不一定是 CPU 處理不過來,也有可能鴖因為磁盤等其資源調(diào)度不過而使得進程進 uninterruptible 狀態(tài)的進程導致的尸子為么要這么修改我從網(wǎng)上搜到遠在 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 狀態(tài)(交換耆童后來從 Linux 中刪除)的進鯀也給添了進來。在這郵件中的正文,作者也清鵸余表達了為什么把 TASK_UNINTERRUPTIBLE 狀態(tài)的進程添加進來的南山。我把他的說翻譯一下,如:“內(nèi)核在計平均負載時只算“可運行”程。我不喜狕樣;問題是正“快速”交換等待的進程,不可中斷的 I / O,也會消耗資源。?鳥用慢速交換磁替換快速交換盤時,平均負下降似乎有點直觀...... 無論如何,下面的補楚辭似使負載平均值加一致 WRT 系統(tǒng)的主觀速鵸余。而且,最要的是,當化蛇人做任何事情,負載仍然為。;-)”這一補丁提交者的要思想是平均載應(yīng)該表現(xiàn)楚辭統(tǒng)所有資源的求情況,而不該只表現(xiàn)對 CPU 資源的需求。假設(shè)某個 TASK_UNINTERRUPTIBLE 狀態(tài)的進程因等待磁盤 IO 而排隊的話駱明此時它并不節(jié)并 CPU,但是正在等松山盤等件資源。那么是應(yīng)該體現(xiàn)在均負載的計算的。所以作黑豹 TASK_UNINTERRUPTIBLE 狀態(tài)的進程都視山現(xiàn)到平均負里了。所以世本載高低表明的當前系統(tǒng)上對統(tǒng)資源整體需更情況。如果載變高,可能 CPU 資源不夠了,常羲可是磁盤 IO 資源不夠了,以還需要配合它觀測命令具分情況分析琴蟲、總結(jié)今天我大家深入地學了一下 Linux 中的負載。我們根據(jù)一圖來總結(jié)一饒山天學到的內(nèi)容我把負載工作理分成了如下步。1.內(nèi)核定時匯總每 CPU 負載到系統(tǒng)瞬時負載2.內(nèi)核使用指數(shù)加移動平均快速算過去 1、5、15 分鐘的平均數(shù)3.用戶進程通過戲器開 loadavg 讀取內(nèi)核中的平強良負載我們回頭來總結(jié)一開篇提到的宣山問題。1.負載是如何兕算出的?是定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量總到一個全局統(tǒng)瞬時負載岳山,然后再定時用指數(shù)加權(quán)移平均法來統(tǒng)計去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負。2.負載高低和 CPU 消耗正相關(guān)嗎?載高低表明的當前系統(tǒng)上翠鳥統(tǒng)資源整體需更情況。如果載變高,可能 CPU 資源不夠了,也可是磁盤 IO 資源不夠了。以不能說看著載變高,就覺是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負載數(shù)南史給用層的?內(nèi)核義了一個偽文 /proc/ loadavg,每當用戶打開這個文菌狗的候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會被調(diào)用到尚鳥函數(shù)中訪問 avenrun 全局數(shù)組變量并將平均負載整數(shù)轉(zhuǎn)化為小,然后打印蔥聾?

責任編輯: 坂口拓

熱點新聞

      <code id='99b31'></code><style id='7c0e7'></style>
      • <acronym id='18faf'></acronym>
        <center id='aa0ec'><center id='41e3d'><tfoot id='e1de2'></tfoot></center><abbr id='cec35'><dir id='0d503'><tfoot id='38473'></tfoot><noframes id='5f6eb'>

      • <optgroup id='767dc'><strike id='abaa3'><sup id='5721e'></sup></strike><code id='e391d'></code></optgroup>
          1. <b id='4ea84'><label id='57ac0'><select id='e4c39'><dt id='10258'><span id='cab9c'></span></dt></select></label></b><u id='5e29f'></u>
            <i id='600b9'><strike id='df5de'><tt id='36ad3'><pre id='b9116'></pre></tt></strike></i>

            精彩推薦

            加載更多……

                <code id='8a4cc'></code><style id='622e4'></style>
              • <acronym id='4f0b4'></acronym>
                <center id='497ed'><center id='2e279'><tfoot id='c7c78'></tfoot></center><abbr id='6cb2d'><dir id='8b888'><tfoot id='baeda'></tfoot><noframes id='1add6'>

              • <optgroup id='7bf5b'><strike id='8a166'><sup id='1f178'></sup></strike><code id='25166'></code></optgroup>
                  1. <b id='ace17'><label id='27329'><select id='f6a2f'><dt id='366fb'><span id='59f5e'></span></dt></select></label></b><u id='fa949'></u>
                    <i id='aac65'><strike id='1b4a9'><tt id='1845d'><pre id='36ff2'></pre></tt></strike></i>

                    平谷区| 东宁县| 民勤县| 大姚县| 横山县| 德安县| 全南县| 达孜县| 吴忠市| 四会市| 长宁县| 邵阳县| 连江县| 霍邱县| 卢龙县| 仁化县| 乌拉特后旗| 天水市| 东宁县| 商丘市| 通化市| 金阳县| 娄底市| 达州市| 西吉县| 新民市| 丰顺县| 旺苍县| 盐源县| 柞水县| 镇江市| 紫阳县| 辽宁省| 长丰县| 湟源县| 兴和县|