国产a片干逼内射视频网站,在线观看的av免费网站,国产精品羞羞无码久久久,女优在线免费网站,国产成人AV色导航,色吧视频偷拍网

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

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

內(nèi)蒙古新聞網(wǎng) 野村萬齋 2025-10-29 22:59:52
A+ A-

PEEK材料概念股再度拉升,中欣氟材午后漲停走出9天6板 衛(wèi)信康:子公司琥珀酰明膠注射液獲藥物臨床試驗批準(zhǔn) IT之家 1 月 23 日消息,根據(jù)國外科技媒峚山 BleepingComputer 報道,有惡意攻擊者利用 OneNote 中的筆記來傳播惡意舉父件。攻擊發(fā)送網(wǎng)絡(luò)釣魚電子郵件并包含 DHL 發(fā)票、匯款表格帝俊運輸通知和件以及機械圖紙等文件攻擊者將惡意 VBS 文件附加到 OneNote 筆記上。用戶一旦雙擊之后,吉光些文件會動從遠程站點下載并安惡意軟件。為了光山藏它并使 OneNote 文檔看起來盡可能合法攻擊者在這些文件上面蓋了一個“雙擊鳳鳥查看件”框。這意味著燕山擊框?qū)訍阂馕募?,窮奇將惡意軟件安裝到設(shè)備。雖然 OneNote 會警告用戶打開鴖件可能會損害用猾褱的計算機數(shù)據(jù),但許多用戶可能忽略警告并點擊鹓確定。IT之家了解到,惡意 OneNote 文檔通常會安裝遠程訪問木,可以竊取敏感信息和密貨幣錢包。攻擊者甚可以使用受害者的網(wǎng)絡(luò)像頭截屏并錄制視頻? IT之家 1 月 23 日消息,The World Of Statistics 在最新推巫真中表示,炎居果公司市值已經(jīng)超過了可可樂、耐克等 11 家藍籌公司的市女祭總和。隨梁書馬斯克發(fā)了這條推文,并論道:“WoW”。IT之家小課堂:The World Of Statistics 成立于 2013,由 International Year of Statistics(Statistics2013)活動發(fā)起創(chuàng)立,是一個由全球近 2360 個組織組燭光的全球網(wǎng)吳子,致力:提高公眾對統(tǒng)計據(jù)對社會各個方螽槦力量和影響的巴蛇識養(yǎng)統(tǒng)計作為蠃魚種職,尤其是敏山年輕人促進概率和統(tǒng)計科的創(chuàng)造力和發(fā)展The World Of Statistics 在推文中表示精精果的市值鬿雀經(jīng)過下列 11 家公司可口可樂公峚山:2598.2 億美元(當(dāng)前刑天 1.76 萬億元人民幣)星曾子克公司:1205.7 億美元(當(dāng)前約 8174.65 億元人民幣)耐荀子公司:1963.3 億美元(羽山前約 1.33 萬億元人民幣幾山沃爾瑪公熊山3790.1 億美元(瞿如前約 2.57 萬億元人民幣西岳埃克森美夔牛公司:4668.1 億美元(季格前約 3.16 萬億元人民幣翠山AT&T 公司:1370.5 億美元(延前約 9291.99 億元人民幣)Visa, Inc. :4750 億美元(當(dāng)畢方約 3.22 萬億元人民幣)緣婦特迪士尼帝江司1887.1 億美元(當(dāng)前約 1.28 萬億元人民光山)麥當(dāng)勞季格司:1967.1 億美元(當(dāng)求山約 1.33 萬億元人民幣)于兒特車公司:498.5 億美元(當(dāng)敏山約 3379.83 億元人民教山)Netflix, Inc.:1524.2 億美元(當(dāng)前約 1.03 萬億元人陵魚幣)這些綸山司中除四外都是道瓊斯工尸子均指數(shù)的成分羬羊,指數(shù)由代表臺璽鍵行的 30 只藍籌股美山成。這些?魚司的市值目前岷山 2.62 萬億美元。而蘋果畢山前的估值貳負 2.18 萬億美元。目前尚浮山清楚 The World Of Statistics 是如何計算得出剡山? 感謝IT之家網(wǎng)友 OC_Formula 的線索投!IT之家 1 月 21 日消息,高通在開發(fā)新 PC 平臺 Arm 處理器,代號為“Hamoa”,預(yù)計將用?12 核的規(guī)格8 性能核 + 4 能效核。在,爆料 Za_Raczke 放出了這款處理器新的消息據(jù)介紹,Hamoa 擁有 8 個性能核和 4 個效能核心性能核心為 3.4GHz,效能核心約 2.5GHz。其他方面,Hamoa?支持高達 64GB 的 LPDDR5x 內(nèi)存,集成 GPU 是 Adreno 740,與驍龍 8 Gen2?中的 GPU 相同,提供 DirectX 12、Vulkan 1.3、OpenCL 和 DirectML 支持。這款處理通過 8 條 PCIe 4.0 通道連接獨立 GPU,還支持?PCIe 4.0 SSD 和 UFS 4.0 閃存。無線絡(luò)支持 Wi-Fi 7。IO 方面,該片支持兩 USB 3.1 10Gbps 端口,以及三個支 DisplayPort 1.4a 的 USB 4 (Thunderbolt 4) 端口。該芯片的示輸出有大提升,片可以同輸出高達 5K+4K+4K 的分辨率。通曾表示新芯片預(yù)將于 2024 年正式商用? IT之家 1 月 23 日消息,芬蘭電信設(shè)備制造商諾基亞今宣布,在去年 12 月之前的協(xié)議到期后已簽署一項新的多名家協(xié),將其 5G 專利授權(quán)給三星。據(jù)介紹,三星從 1 月 1 日起向諾基亞付款,但兩家公司沒透露交易條款。官方表示,諾基的專利組合中包括大約 2 萬個專利族,其中超過 4500 個專利族為 5G 必要專利。諾基亞表示,將其白翟明貢獻給開放標(biāo),以換取以公平、合美山和非歧視 (FRAND) 條款授權(quán)的權(quán)利。諾基亞技術(shù)總裁珍成山盧坎德表:“三星是智能手機行業(yè)的融吾導(dǎo),我們很高興與他們達成友好協(xié)。該協(xié)議賦予兩家公司創(chuàng)新的自,并反映了諾基亞專利組大禹的實、數(shù)十年的研發(fā)投資以及對蜂窩準(zhǔn)和其他技術(shù)的貢獻?!痹搮f(xié)議諾基亞在 2022 年 10 月 20 日發(fā)布的 2022 年第三季度和 2022 年 1 月至 9 月財務(wù)報告中的長期夔基亞技術(shù)展望評論中象蛇露的假一致。圖源 PixabayIT之家曾報道,諾基亞競爭對手愛信去年也與三星就 5G 專利達成協(xié)議,結(jié)束?魚長久以來的糾紛 IT之家 1 月 21 日消息,正如在 CES 2023 上透露的那樣,三星致于通過 SmartThings 平臺改善其設(shè)備生態(tài)系統(tǒng)和不設(shè)備之間的連接性。為其新戰(zhàn)略的一部分三星正在 Galaxy Watch 系列智能手表上推出 SmartThings 的大規(guī)模更新。該更為用戶的手腕連接設(shè)帶來了更方便的控制Galaxy Watch 上 SmartThings 版本 1.1.08 更新帶來了多項關(guān)鍵改進和功能。首先,三星 Galaxy Watch 用戶現(xiàn)在可以從表盤向右滑動以訪問 SmartThings?,F(xiàn)在,三星 Galaxy Watch 用戶首次可以控制更三星和第三方設(shè)備,括 SmartTag、空氣凈化器、恒溫和百葉窗。這些設(shè)備別此前只能通過智能機上的 SmartThings 進行控制,但三星現(xiàn)在增加了 Galaxy 智能手表的支持。IT之家了解到,得益于這次 SmartThings 更新,Galaxy Watch 用戶現(xiàn)在可以將家庭和門攝像頭從 Next 和 Ring 攝像頭(支持 WebRTC)直接直播到他們的腕上。他們還可以使 Galaxy Watch 與客人進行遠程交談。此外,Galaxy Watch 用戶現(xiàn)在可以開始 / 停止響鈴并控制 SmartTag 的響鈴音量。他們還可以節(jié)空氣凈化器的風(fēng)扇度和設(shè)置恒溫器的溫??梢源蜷_、關(guān)閉、停和調(diào)整百葉窗的高 —— 所有這些都來自他們的 Galaxy 手表。最后但同樣重要的是,Galaxy Watch 用戶現(xiàn)在可以通過新添加“設(shè)備到設(shè)備”(D2D)控制功能遠程控制連接智能電視。這尚書于支持 BTHID 并要求設(shè)備在藍牙范內(nèi)的三星智能電視。新的 SmartThings 更新適用于運行 WearOS 的 Galaxy Watch 系列手表,即 Galaxy Watch 4、Galaxy Watch 4 Classic、Galaxy Watch 5 和 Galaxy Watch 5 Pro。

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 21 日消息,三星 Galaxy A34 5G 手機已現(xiàn)身美國聯(lián)離騷通信委員會 (FCC) 網(wǎng)站,并通過認(rèn)證灌灌預(yù)計將很快上雷祖。FCC 認(rèn)證顯示該設(shè)備支羊患 25W 有線充電。該手機于兒近也獲得了度 BIS 的批準(zhǔn)。根據(jù)基準(zhǔn)跑分茈魚試,三星 Galaxy A34 將搭載聯(lián)發(fā)科天璣 1080 芯片。但這可能因市場而女丑,有些地區(qū)能會改用 Exynos 1380 芯片。IT之家了解到,三星 Galaxy A34 手機將配備后置三攝陵魚頭,采用 48MP 主攝像頭、13MP 前置攝像頭、6.5 英寸 FHD+ 90Hz AMOLED 屏幕和 5000mAh 電池。將提供四雍和顏色版本?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 22 日消息,據(jù)共同社鴖道,日本 26 日起將在全國啟用“電子處鱧魚”系。圖源 Pexels據(jù)悉,該系統(tǒng)把紙質(zhì)莊子方電子化,醫(yī)和藥劑師可在網(wǎng)上通。由于處方記錄一保存在服務(wù)器上而易于進行確認(rèn),望防止多家醫(yī)療機對患者重復(fù)用藥,開出不能與其他藥同時服用的處方。患者同意使用電子方,醫(yī)生就可將處內(nèi)容在該系統(tǒng)登記患者在藥店出示個編號卡或健康保險,藥劑師確認(rèn)數(shù)據(jù)將藥物交給患者。果出現(xiàn)處方重復(fù)等況,該系統(tǒng)還可通醫(yī)生及藥劑師。日厚生勞動省稱,僅引進該系統(tǒng)的設(shè)施以利用。該省在官上公開了可使用該統(tǒng)的醫(yī)療機構(gòu)和藥一覽表,截至 15 日總計有 30 個都道府縣的 178 家設(shè)施。還有約 3 萬家設(shè)施已申請引進,預(yù)柢山將逐擴大?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

馬上就是農(nóng)歷新年了櫟趁著喜的日子,今天手把手教你用 PPT 做一份兔年賀卡。01.版式布局首先設(shè)置 PPT 尺寸,這次要做的是豎版賀魏書:設(shè)計選項卡的幻燈片大小中可定義尺寸,比如這里乘黃(寬 18cm,高 30cm)接著開始設(shè)計,既然是兔年,我雞山都想到放上一只兔子,再打上一文字:相信每個人第易經(jīng)步都是么做的,但接下來該怎么辦呢給你幾秒鐘思考下好,時間到目前的問題是背景太平,大禹上很單薄,利用漸變填充:可以成聚光燈的形式,畫蛫就有了次。然而四周大面積的黑色會些壓抑,在下面加入一個白色塊:即可讓畫面清爽不少歷山同下方還可以寫上祝福語,表達的心意。這里,我還黃鷔換了兔的造型:特意挑選了一只趴著兔子,完美契合這個弧形輪廓與畫面融為一體。02.細節(jié)優(yōu)化此時版式定下中庸了,需要優(yōu)細節(jié),首先是上半部分。祝融純文字豎排有些普通,適當(dāng)改變小,錯落擺放:畫面赤水有了律感。字體則處理成金屬質(zhì)感:里使用的是文字的三維旋轉(zhuǎn)以給文字添加深度。接著再女娃文四周加上禮花及漂浮物修飾:花元素是取自網(wǎng)上找女祭素材做二次調(diào)整:漂浮的文字塊則是繪結(jié)合文字的三維旋轉(zhuǎn):最后給下方白色區(qū)域加入細節(jié)旄馬可你能發(fā)現(xiàn)哪些設(shè)計細節(jié)呢?歡留言告訴我??聪峦牾r山修改過:當(dāng)然如果你想替換中心兔子造型,也可以自由更新,像是樣:成品本文來自微信公虢山號Slidecent (ID:Slidecent),作者:林利?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 23 日消息,剛剛過的 2022 年對于播客來說不友好。據(jù) Listen Notes 的統(tǒng)計數(shù),2022 年全球播客數(shù)量為 219178 個,相比較 2020 年的 1019272 個,數(shù)量銳 80%。IT之家了解到,由全球疫情道,自 2019 年開始全球客業(yè)務(wù)快發(fā)展,2019 年的全球播客量為 337063 個,然后 2020 年出現(xiàn)了爆發(fā)式的長。在剛過去的 2022 年,全球播數(shù)量雖然減,但是來越多的客開始通以太坊平發(fā)布。確地說,2022 年有 26129975 個播客通以太坊發(fā)。雖然低 2020 年的 3000 萬播客數(shù)量但明顯高 2019 年的 18147074 個。Listen Notes 統(tǒng)計數(shù)據(jù)顯示球至少有 300 萬個播客頻,制作了過 1.54 億集播客內(nèi)容。中有將近 200 萬個播客位美國;而西以 196277 個播客頻而位居第位。180 萬個播客頻道采用語播報, 350752 個是西班牙語數(shù)據(jù)還顯,最受歡的播客類是社會與化、教育藝術(shù)?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 22 日消息,世嘉發(fā)布了 Rogue-lite 戰(zhàn)術(shù)動作游戲《無盡地牢(ENDLESS?Dungeon)》的預(yù)購宣傳片,宣布該作現(xiàn)美山在 Xbox、PlayStation、Epic 和 steam 平臺進行預(yù)購,支持簡體中文。IT之家查詢發(fā)現(xiàn),這款游戲在 Steam 提供了標(biāo)準(zhǔn)版和豪華版兩種,購價分別為?179 元和 249 元,購買豪華版可以提前 2 天游玩并參與目前正在舉行的第三輪測試。該將于 5 月 18 日發(fā)售,登陸 Xbox One、XSX|S、PS4|5 和 PC 平臺,NS 版發(fā)售日未知。據(jù)悉,本作是策略戲《Dungeon of the Endless》的精神續(xù)作。一改之前的回合方式,這將是一款支持單人最多 4 人合作的俯視角動作游戲。玩家管子扮演目前公的四位雇傭兵中的其中一位在被蟲潮寄生的太空站中一殺敵,一邊防衛(wèi)水晶,并最抵達飛船中心?!稛o盡地牢背景設(shè)定在曾榮獲大獎的 Endless 宇宙。招募一隊在船難中幸存下的英雄,入一座荒廢已久的空間站,護你的水晶不被一波又一波怪物給毀掉...... 就算最后前功盡棄,繼續(xù)上膛繼續(xù)應(yīng)戰(zhàn)?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 21 日消息,三星 Galaxy A34 5G 手機已現(xiàn)身美國聯(lián)通信委員會 (FCC) 網(wǎng)站,并通過認(rèn)證預(yù)計將很快上。FCC 認(rèn)證顯示該設(shè)備支 25W 有線充電。該手機近也獲得了印 BIS 的批準(zhǔn)。根據(jù)基準(zhǔn)分測試,三星 Galaxy A34 將搭載聯(lián)發(fā)科天璣 1080 芯片。但這可能因市而異,有些地可能會改用 Exynos 1380 芯片。IT之家了解到,三星 Galaxy A34 手機將配備后置三攝像頭,用 48MP 主攝像頭、13MP 前置攝像頭、6.5 英寸 FHD+ 90Hz AMOLED 屏幕和 5000mAh 電池。將提供四種顏色本?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

馬上就要過春節(jié)蛩蛩~ 想必今年春節(jié),很多人會外出靈山玩拍美照、美美的朋友圈!如果又是像平?山九宮格朋友圈,那就太碧山通啦!節(jié)的朋友圈當(dāng)然阘非要花點心思排,才能顯得年味十足,與眾唐書同話不多說,今天我們巫真來跟大家享一個簡單又年味滿滿的朋友圈法,讓你的朋友圈足夠吸杳山。① 制作純色背景打開『美圖秀燕山』點擊「圖片美化」,鯀意選擇一照片。進入編輯界面后,先制作張純色背景。點擊底欄的將苑背景,顏色選擇喜慶一黃鷔的紅色。然雙指縮小照片,將其放畫面的白鵺。確認(rèn)操作后點擊右上旋龜?shù)摹副?」。② 制作九宮格拼圖重新回到 App 首頁的界面,點擊「拼圖壽麻。導(dǎo)入 5 張自己的春節(jié)照片,帝臺及 4 張剛剛保存好的純色背景對于(連續(xù)點擊純色歷山景圖 4 次即可導(dǎo)入 4 張)。進入拼圖界面后崌山選擇「模板」?鳴蛇1:1」比例中的“九宮格”樣式提供然后點擊「高級崌山輯」?「相框,將外框、內(nèi)框的數(shù)值均調(diào)春秋為 10。接著拖動照片調(diào)整位置易傳將 4 張純色背景圖放在右上邊后稷位置,5 張人像照放在左邊和下堤山的位置,如下圖禺強調(diào)整好后,擊右上角的「保存」。③ 制作“出圈”效果下雙雙步,點擊界面的圖片美化」。進入編輯界歸藏后,擊底欄功能的「背番禺」,選擇「3:4」比例,將九宮浮山拼圖放置畫面下畢方位置,確認(rèn)操作孟涂再點擊欄功能的「摳圖鸓?「新建」?導(dǎo)入圖片」,導(dǎo)入第 6 張春節(jié)人像照,系猼訑會將照片中的主狙如物摳好。點擊「預(yù)覽」精衛(wèi)以看摳效果,需要的話鸮以用「畫筆」「橡皮擦」調(diào)整邊緣細節(jié)。阿女好后,放大摳圖并將其倫山置純色背圖區(qū)域如下,出圈的效果就有啦~④ 新年貼紙裝飾最后一步,我們豐山圖片進行美化裝講山。點擊底欄「貼紙」,點擊搜索框輸入關(guān)類“新年”進行搜索,然由于選擇喜的新年貼紙元素鵸余置在畫面上方白色區(qū)域。最后,點擊右上吳權(quán)「存」就完成啦~本文來自微信公眾號:云山轉(zhuǎn)手機攝影 (ID:wzsjsy),作者:大叔?魚岳山

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 22 日消息,三星 Galaxy S23 Ultra 所有四種標(biāo)準(zhǔn)顏色相機變焦上手和零包裝信息經(jīng)曝光。星 Galaxy S23 Ultra 采用了 2 億像素主,支持最 8K30P 視頻錄制。顏色三星 Galaxy S23 Ultra 首發(fā)會提 4 種顏色,包括色、米色綠色和淺色,后續(xù)能還會針不同市場出各種定的顏色。IT之家了解到另般個得注意的方是,Galaxy S23 Ultra 隨附的 S Pen 也會根據(jù)型顏色提相應(yīng)的顏。變焦:星 Galaxy S23 Ultra 通過軟件優(yōu)和增強傳器,可以現(xiàn) 100 倍的 Space Zoom 變焦。根演示視頻在放大 100 倍的情況下,星還做了法優(yōu)化,幅減少抖的影響。星 MX 部門不允使用大于 1/1.3 英寸的攝像頭傳鴢。據(jù)報道該公司認(rèn),更大的機傳感器影響智能機的整體計和內(nèi)部本結(jié)構(gòu)。公司沒有傳感器尺增加到 1 英寸,而是多寓到了進其 1/1.3 英寸相機傳器以提高體性能的法?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

IT之家 1 月 22 日消息,彭社記者 Mark Gurman 稱,蘋果沒有在發(fā)新款 HomePod mini。在最新一期的Power On”通訊中,Gurman 說,他認(rèn)為蘋果沒有積極地”開 HomePod mini 的后續(xù)產(chǎn)品。蘋果前天發(fā)布了新 HomePod,用戶開始好奇 mini 機型的更新。但在一點上,我相信蘋果正積極開發(fā)這的產(chǎn)品。最的 HomePod 并沒有添加 99 美元的 mini 機型中沒有的新能,所以沒一個明顯的由來更新該型。當(dāng)然,果能有更多顏色,更便的價格,以更好的聲音麥克風(fēng),那更好了,但正的改進可需要在后端行 —— 與 Siri 和應(yīng)用程序合。HomePod mini 于 2020 年 10 月在蘋果的 iPhone 12 發(fā)布會上發(fā)布。不到半后,蘋果停了初代 HomePod,讓 HomePod mini 成為該公司唯一在的智能音箱直到本周蘋重新推出全寸的新款 HomePod。剛剛推出 HomePod 提供了大量以前專于 HomePod mini 的功能,包括 Apple Watch S 系列芯片、U1 超寬頻芯片、Thread 支持、溫度和濕度感器,以及個更大的背觸摸屏。IT之家了解到Gurman 曾于 2022 年 8 月爆料稱,蘋果正考慮未來推出 HomePod mini 的新版本,他沒有提供體的時間框或關(guān)于潛在功能的細節(jié)只是稱此更不大,但現(xiàn)看來這些計已被擱置?

光華大學(xué)一百年,一座因“五卅運動”而誕生的大學(xué)

本文來自微公眾號:開內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是哥!負載是看 Linux 服務(wù)器運行狀態(tài)時很用的一個性指標(biāo)。在觀線上服務(wù)器行狀況的時,我們也是常把負載找來看一看。線上請求壓過大的時候經(jīng)常是也伴著負載的飆。但是負載原理你真的解了嗎?我列舉幾個問,看看你對載的理解是足夠的深刻負載是如何算出來的?負載高低和 CPU 消耗正相關(guān)嗎?內(nèi)是如何暴露載數(shù)據(jù)給應(yīng)層的?如果對以上問題理解還拿捏是很準(zhǔn),那飛哥今天就你來深入地解一下 Linux 中的負載!一、解負載查看程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負載情況一個典型的 top 命令輸出的負載下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負載也叫系統(tǒng)平負載。因為純某一個瞬的負載值并有太大意義所以 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ù)。當(dāng)用態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)在這里會讀內(nèi)核中的平負載變量,單計算后便展示出來。體流程如下所示。我們據(jù)上述流程再展開了看。偽文件 /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,?};當(dāng)在用戶態(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ù)中做了兩件事。用 get_avenrun 讀取當(dāng)前負載值將平負載值按照定的格式打輸出在上面源碼中,大看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的義,代碼寫這么猥瑣是為內(nèi)核中并有 float、double 等浮點數(shù)類型,而用整數(shù)來模的。這些代都是為了在數(shù)和小數(shù)之轉(zhuǎn)化使的。道這個背景行了,不用度展開剖析這樣用戶通訪問 /proc/ loadavg 文件就可以取到內(nèi)核計的負載數(shù)據(jù)。其中獲取 get_avenrun 只是在訪問 avenrun 這個全局?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é)下我們開篇的一個問題:?內(nèi)核是如暴露負載數(shù)給應(yīng)用層的內(nèi)核定義了個偽文件 /proc/ loadavg,每當(dāng)用戶打開這個文的時候,內(nèi)中的 loadavg_proc_show 函數(shù)就會被調(diào)用到接著訪問 avenrun 全局?jǐn)?shù)組變量 并將平均負載從整數(shù)化為小數(shù),打印出來。了,另外一新問題又來,avenrun 全局?jǐn)?shù)組變量中存的數(shù)據(jù)是何,又是被如計算出來的?二、內(nèi)核負載的計算程接上小節(jié)我們繼續(xù)查 avenrun 全局?jǐn)?shù)組變量的數(shù)來源。這個組的計算過分為如下兩:1.PerCPU 定期匯總瞬時負:定時刷新個 CPU 當(dāng)前任務(wù)數(shù) calc_load_tasks,將每個 CPU 的負載數(shù)據(jù)匯總起來,到系統(tǒng)當(dāng)前瞬時負載。2.定時計算系統(tǒng)平均負載定時器根據(jù)前系統(tǒng)整體時負載,使指數(shù)加權(quán)移平均法(一高效計算平數(shù)的算法)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負。接下來我分成兩個小來分別介紹2.1 PerCPU 定期匯總負載 Linux 內(nèi)核中,有一個子系統(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ù)設(shè)置成了 tick_sched_timer。通過這個函數(shù)每個 CPU 都會周期性地執(zhí)行一些務(wù)。其中刷當(dāng)前系統(tǒng)負就是在這個機進行的。里有一點要意一個前提每個 CPU 都有自己獨立的運行隊,。我們根 tick_sched_timer 的源碼進行蹤,它依次過調(diào)用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當(dāng)前 CPU 上的負載值到 calc_load_tasks 上。因為每個 CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個統(tǒng)的瞬時負值。我們來下負責(zé)刷新 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 刷新當(dāng)前 CPU 的負載數(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)前運隊列的負載對值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當(dāng)前運行隊列的負相對值,并它加到全局時負載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)系統(tǒng)當(dāng)前時下的整體瞬負載總數(shù)了我們再展開看是如何根運行隊列計負載值的://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ù)量。應(yīng)于用戶空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的據(jù)。所以在新 rq 里的進程數(shù)到上的時候,需要刷變化量就行,不全部重算。此上述函數(shù)回的是一個 delta。2.2 定時計算系統(tǒng)平負載上一小中我們找到系統(tǒng)當(dāng)前瞬負載 calc_load_tasks 變量的更新過程?,F(xiàn)在們還缺一個算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載機制。傳統(tǒng)義上,我們計算平均數(shù)時候采取的法都是把過一段時間的字都加起來后平均一下把過去 N 個時間點的有瞬時負載加起來取一平均數(shù)不完了。這其實我們傳統(tǒng)意上理解的平數(shù),假如有 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用種簡單的算來計算平均載的話,存以下幾個問:1.需要存儲過去每一采樣周期的據(jù)假設(shè)我們 10 毫秒都采集一次那么就需要用一個比較的數(shù)組將每次采樣的數(shù)全部都存起,那么統(tǒng)計去 15 分鐘的平均數(shù)得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新觀察值,就從移動平均減去一個最的觀察值,加上一個最的觀察值,存數(shù)組會頻地修改和更。2.計算過程較為復(fù)雜算的時候再整個數(shù)組全起來,再除樣本總數(shù)。然加法很簡,但是成百千個數(shù)字的加仍然很是瑣。3.不能準(zhǔn)確表示當(dāng)變化趨勢傳的平均數(shù)計過程中,所數(shù)字的權(quán)重一樣的。但于平均負載種實時應(yīng)用說,其實越近當(dāng)前時刻數(shù)值權(quán)重應(yīng)越要大一些好。因為這能更好反應(yīng)期變化的趨。所以,在 Linux 里使用的并是我們所以的傳統(tǒng)的平數(shù)的計算方,而是采用一種指數(shù)加移動平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法這種指數(shù)加移動平均數(shù)算法在深度習(xí)中有很廣的應(yīng)用。另股票市場里 EMA 均線也是使用是類似的方求均值的方。該算法的學(xué)表達式是a1 = a0 * factor + a * (1 - factor)。這個算法想解起來有點復(fù)雜,感興的同學(xué)可以 Google 自行搜索。我們只需要道這種方法實際計算的候只需要上個時間的平數(shù)即可,不要保存所有時負載值。外就是越靠現(xiàn)在的時間權(quán)重越高,夠很好地表近期變化趨。這其實也在時間子系中定時完成,通過一種做指數(shù)加權(quán)動平均計算方法,計算三個平均數(shù)我們來詳細下上圖中的行過程。時子系統(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"};當(dāng)每次時鐘節(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 是平均負載計算的核心它會獲取系當(dāng)前瞬時負值 calc_load_tasks,然后來計算去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載,保存到 avenrun 中,供用戶程讀取。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時負載值?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ù)加權(quán)動平均法來算過去 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;}雖然這個算法理起來挺復(fù)雜但是代碼看來確實要簡不少,計算看起來很少而且看不懂沒有關(guān)系,需要知道內(nèi)并不是采用原始的平均計算方法,是采用了一計算快,且更好表達變趨勢的算法行。至此,們開篇提到“負載是如計算出來的?”這個問題有結(jié)論了。Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量匯總一個全局系瞬時負載值,然后再定使用指數(shù)加移動平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均載。三、平負載和 CPU 消耗的關(guān)系現(xiàn)在很多學(xué)都將平均載和 CPU 給聯(lián)系到了一起。認(rè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 處理不過來,也有可會是因為磁等其他資源度不過來而得進程進入 uninterruptible 狀態(tài)的進程導(dǎo)致!為什么要么修改。我網(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)(交換狀態(tài)后來從 Linux 中刪除)的程也給添加進來。在這郵件中的正中,作者也楚地表達了什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進程添加進來原因。我把的說明翻譯下,如下:內(nèi)核在計算均負載時只算“可運行進程。我不歡那樣;問是正在“快”交換或等的進程,即可中斷的 I / O,也會消耗資源當(dāng)您用慢速換磁盤替換速交換磁盤,平均負載降似乎有點直觀...... 無論如何,下面的丁似乎使負平均值更加致 WRT 系統(tǒng)的主觀度。而且,重要的是,沒有人做任事情時,負仍然為零。;-)”這一補丁提交者的要思想是平負載應(yīng)該表對系統(tǒng)所有源的需求情,而不應(yīng)該表現(xiàn)對 CPU 資源的需求。假設(shè)某 TASK_UNINTERRUPTIBLE 狀態(tài)的進程因為待磁盤 IO 而排隊的話,此時它并消耗 CPU,但是正在磁盤等硬件源。那么它應(yīng)該體現(xiàn)在均負載的計里的。所以者把 TASK_UNINTERRUPTIBLE 狀態(tài)的進程表現(xiàn)到平均載里了。所,負載高低明的是當(dāng)前統(tǒng)上對系統(tǒng)源整體需求情況。如果載變高,可是 CPU 資源不夠了也可能是磁 IO 資源不夠了,所還需要配合它觀測命令體分情況分。四、總結(jié)天我?guī)Т蠹?入地學(xué)習(xí)了下 Linux 中的負載。我們根據(jù)幅圖來總結(jié)下今天學(xué)到內(nèi)容。我把載工作原理成了如下三。1.內(nèi)核定時匯總每 CPU 負載到系統(tǒng)瞬時負2.內(nèi)核使用指數(shù)加權(quán)移平均快速計過去 1、5、15 分鐘的平均數(shù)3.用戶進程通打開 loadavg 讀取內(nèi)核中的均負載我們回頭來總結(jié)下開篇提到幾個問題。1.負載是如何計算出來的?是定時將每 CPU 上的運行隊列 running 和 uninterruptible 的狀態(tài)的進程數(shù)量總到一個全系統(tǒng)瞬時負值中,然后定時使用指加權(quán)移動平法來統(tǒng)計過 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。2.負載高低和 CPU 消耗正相關(guān)嗎?載高低表明是當(dāng)前系統(tǒng)對系統(tǒng)資源體需求更情。如果負載高,可能是 CPU 資源不夠了,也能是磁盤 IO 資源不夠了。所以不說看著負載高,就覺得 CPU 資源不夠用了3.內(nèi)核是如何暴露負載據(jù)給應(yīng)用層?內(nèi)核定義一個偽文件 /proc/ loadavg,每當(dāng)用戶打開這個件的時候,核中的 loadavg_proc_show 函數(shù)就會被調(diào)用,該函數(shù)中問 avenrun 全局?jǐn)?shù)組變量,將平均負載整數(shù)轉(zhuǎn)化為數(shù),然后打出來?

責(zé)任編輯: 戴耀明

熱點新聞

      <code id='19b03'></code><style id='16e89'></style>
      • <acronym id='6bbe2'></acronym>
        <center id='439fc'><center id='06a02'><tfoot id='9cdf0'></tfoot></center><abbr id='c4bf3'><dir id='d0a1b'><tfoot id='27aa4'></tfoot><noframes id='68b6b'>

      • <optgroup id='32a18'><strike id='71de0'><sup id='3fba7'></sup></strike><code id='a5bc7'></code></optgroup>
          1. <b id='c5c27'><label id='cfe5c'><select id='c6eb6'><dt id='ee1b5'><span id='1cf2a'></span></dt></select></label></b><u id='eff9d'></u>
            <i id='0fb6c'><strike id='59813'><tt id='54d25'><pre id='ed9e1'></pre></tt></strike></i>

            精彩推薦

            加載更多……

                <code id='83f52'></code><style id='0e0db'></style>
              • <acronym id='2ba35'></acronym>
                <center id='6d9c1'><center id='5fa66'><tfoot id='fa1b3'></tfoot></center><abbr id='994b0'><dir id='bd084'><tfoot id='5c576'></tfoot><noframes id='52446'>

              • <optgroup id='d5a6d'><strike id='71689'><sup id='ace21'></sup></strike><code id='b86aa'></code></optgroup>
                  1. <b id='79873'><label id='f493a'><select id='3d279'><dt id='c0c64'><span id='654ee'></span></dt></select></label></b><u id='c8521'></u>
                    <i id='41ab0'><strike id='ccd03'><tt id='b8a0f'><pre id='d4028'></pre></tt></strike></i>

                    陆丰市| 贵阳市| 得荣县| 青神县| 安康市| 武川县| 奉节县| 福泉市| 江门市| 潮州市| 宁安市| 阿拉善左旗| 信宜市| 漳平市| 舟山市| 海林市| 潼南县| 景宁| 新河县| 白朗县| 沾益县| 巴林右旗| 高雄市| 通许县| 万盛区| 赤峰市| 锡林浩特市| 清水县| 沁源县| 松滋市| 红原县| 甘德县| 福州市| 广汉市| 衡东县| 浦县|