生成文件失敗,文件模板:文件路徑:/www/wwwroot/chinavoa.com//public//auto/2025-06-21/c6d48.html靜態(tài)文件路徑:/www/wwwroot/chinavoa.com//public//auto/2025-06-21 《亮剑11》- 動(dòng)漫在線觀看 -淼淼影视网

在线免费看片a欧美,午夜AV不卡网站在线播放,久久综合尹人77777,96国产在线分享

      <s id="srvai"></s>
      電視劇 亮剑11
      • 提醒:不要輕易相信視頻中的廣告,謹(jǐn)防上當(dāng)受騙!
      • 如果無(wú)法播放請(qǐng)重新刷新頁(yè)面,或者切換線路。
      • 視頻載入速度跟網(wǎng)速有關(guān),請(qǐng)耐心等待幾秒鐘。
      簡(jiǎn)介

      亮剑11 第01集6.0
      6.0
      網(wǎng)友評(píng)分
      • 很差
      • 較差
      • 還行
      • 推薦
      • 力薦
      709次評(píng)分
      給影片打分 《亮剑11》
      • 很差
      • 較差
      • 還行
      • 推薦
      • 力薦
      我也要給影片打分

      • 關(guān)注公眾號(hào)觀影不迷路

      • 掃一掃用手機(jī)訪問(wèn)

      影片信息

      • 亮剑11

      • 片名:亮剑11
      • 狀態(tài):更新至3集
      • 主演:常英俊/
      • 導(dǎo)演:邢健/
      • 年份:1998
      • 地區(qū):印尼
      • 類型:傳記/
      • 時(shí)長(zhǎng):0:58:33
      • 上映:2021
      • 語(yǔ)言:巴拉圭語(yǔ)
      • 更新:
      • 簡(jiǎn)介:IT之家 1 月 15 日消息,KDE 項(xiàng)目團(tuán)隊(duì)于今天推出鵹鶘 KDE Frameworks 5.102 版本更新。本次更新中最值得注的改進(jìn)就是,KDE Connect 應(yīng)用中支持傳輸超過(guò) 2GB 大小的文件。IT之家小課堂:KDE Connect 應(yīng)用是一款允許用戶在移動(dòng)?jì)肷讉浜碗娔X間傳輸文件的應(yīng)用,也持接收通知、控制媒禺強(qiáng)放器等功能。KDE Frameworks 5.102 另一個(gè)值得關(guān)注的改南山就是 Meta Key 等修改鍵。這個(gè)變化將出現(xiàn)在即將到的 KDE Plasma 5.27 桌面環(huán)境系列中,KDE 開(kāi)發(fā)者希望取代 KWin 窗口和復(fù)合管理器中奇怪舊修改器鍵處理方式,樣你就可以直接將修改鍵分配給 Kickoff 或 Overview。KDE Frameworks 5.102 更新還支持在“打開(kāi)”耆童話框的目錄選擇器字中,使用其完整文件路訪問(wèn)文件。在重啟過(guò)程支持“Always use Touch Mode”;在基于 Kirigami 的應(yīng)用程序中,支持使用 Esc 鍵或通過(guò)點(diǎn)擊視圖中的暗區(qū)關(guān)閉側(cè)抽屜。KDE Frameworks 5.102 還改進(jìn)了 Plasma Wayland 會(huì)話,修復(fù)了多個(gè)和粘貼相關(guān)的提供題這次 KDE Frameworks 的更新包含了超過(guò) 140 個(gè)變化,所以請(qǐng)查看發(fā)布公頁(yè)面上的完整更新日土螻了解更多細(xì)節(jié)?
      首頁(yè) 益智 亮剑11

      猜你喜歡

      為你推薦

       換一換

      評(píng)論

      共 58003 條評(píng)論
      還可以輸入200
      • 游客b84285990e 剛剛
        IT之家 1 月 19 日消息,從中國(guó)廣電獲悉,中國(guó)廣電 2023 年度工作會(huì)議 1 月 15 日在北京召開(kāi)。中國(guó)廣電表示,2022 年,全國(guó)有線電視網(wǎng)絡(luò)整合和廣電 5G 建設(shè)一體化發(fā)展取得新突破31 個(gè)省區(qū)市廣電 5G 網(wǎng)絡(luò)服務(wù)全面啟動(dòng),中國(guó)廣電品牌全新亮相“全國(guó)一網(wǎng)”運(yùn)營(yíng)管理進(jìn),初步形成“有線 + 5G”融合傳播新格局;中國(guó)廣電獲得了猼訑家化專網(wǎng)、廣電 5G 視聽(tīng)融合服務(wù)平臺(tái)、固定信業(yè)務(wù)牌照等重大政策持,試點(diǎn)上線了智能推服務(wù)、5G 頻道、“直播中國(guó)”、光明影院等產(chǎn)品。會(huì)議要求,2023 年,全國(guó)廣電網(wǎng)絡(luò)行業(yè)要扎實(shí)做好 10 件實(shí)事:一是穩(wěn)定有線電用戶總量,擴(kuò)大廣電 5G 用戶規(guī)模;二是穩(wěn)定有線電視營(yíng)收水平,提廣電 5G 營(yíng)收能力;三是完善“有線 + 5G”網(wǎng)絡(luò),提升廣電網(wǎng)絡(luò)承載能力;四是龍山拓新傳播渠道,打造內(nèi)容特化優(yōu)勢(shì);五是擦亮國(guó)家網(wǎng)名片,大力開(kāi)發(fā)垂直業(yè)應(yīng)用;六是穩(wěn)步推進(jìn)絡(luò)整合,鞏固全國(guó)一網(wǎng)合成果;七是強(qiáng)化子公科學(xué)管控,完善現(xiàn)代企治理體系;八是精心組主題宣傳,高質(zhì)量完成保期安播任務(wù);九是做廣播電視公共服務(wù),彰廣電網(wǎng)絡(luò)社會(huì)責(zé)任;十完善創(chuàng)新體系,構(gòu)建創(chuàng)生態(tài)。IT之家了解到,《中國(guó)廣電 5G 手機(jī)產(chǎn)品白皮書(shū)(2023 年版)》指出,2022 年,中國(guó)廣電完成 5G 網(wǎng)絡(luò)建設(shè),全面啟動(dòng) 5G 網(wǎng)絡(luò)服務(wù),積極深化與中國(guó)移動(dòng)“共建享共贏”戰(zhàn)略合作,積推進(jìn)與中國(guó)電信、中國(guó)通的產(chǎn)業(yè)合作,中國(guó)廣實(shí)際可用 4G、5G 基站總量已達(dá) 360 萬(wàn)個(gè)。2023 年將持續(xù)重點(diǎn)推進(jìn)終端、芯片業(yè)合作,做大做優(yōu)廣電 5G 終端服務(wù),以終端發(fā)展帶動(dòng)用戶網(wǎng)絡(luò)信驗(yàn)升?
      • 游客99a215ea97 47秒前
        IT之家 9 月 20 日消息,京東 Apple 全線產(chǎn)品“稱心好物,柢山享一夏”,指定 iPhone 13 系列領(lǐng)券立減 600 元、900 元(限 iPhone 13 256G 版本),限時(shí)以舊曾子新至高補(bǔ)貼 420 元,A + 會(huì)員享翻倍權(quán)益,多款唐書(shū)號(hào)規(guī)格現(xiàn)已貨,點(diǎn)此前往。大滑魚(yú)優(yōu)惠:部分好價(jià)單品:京東 Apple iPhone 13 256GB 藍(lán)色【快充套裝】領(lǐng)券減 900 元券后 5948 元直達(dá)鏈接京東 Apple iPhone 13 128GB 星光色【快充套裝】券后 5498 元領(lǐng) 600 元券京東 Apple iPhone 13 mini 512GB 午夜色領(lǐng)券減 600 元 7199 元直達(dá)鏈接京東 Apple iPhone 13 Pro 256GB 蒼嶺綠色券后 8199 元領(lǐng) 600 元券京東 Apple iPhone 13 Pro Max 128GB 蒼嶺綠色券后 8399 元領(lǐng) 600 元券?前往京東自營(yíng)旗艦店孝經(jīng)促會(huì)場(chǎng):點(diǎn)前往。本文用于傳番禺優(yōu)惠息,節(jié)省甄選時(shí)間,結(jié)果供參考?!緩V告?
      • 游客b4cf4a8d7c 55秒前
        IT之家 1 月 23 日消息,HBO 的游戲改編真人劇《后生還者》于 1 月 16 日正式上線,M 站均分 84,豆瓣評(píng)分 9.3。在電視劇《最后生者》開(kāi)播之也推動(dòng)了游銷量。根據(jù)外游戲媒體 GamesIndustry.biz 報(bào)道,基于 Gfk 公布的最新周報(bào)示,上周《后生還者:一章》(The Last of Us Part 1)游戲銷量環(huán)比暴增 238%,在排行榜上上升第 20 位。Christopher Dring 為 GamesIndustry.biz 媒體負(fù)責(zé)人在電視《最后生還》開(kāi)播之后PS5 版本《最后生還》游戲銷量增之外,PS4 平臺(tái)上的《最后生還》重制版(The Last of Us Remastered)環(huán)比增加 322%,將游戲推向排行榜的第 32 位。IT之家了解到,出于同樣原因,《戰(zhàn) 2042》重新進(jìn)入榜,并最終達(dá)第 25 位,銷量增加 177%。《木衛(wèi)四協(xié)》也卷土重,這次在排榜上排名第 16 位,這要?dú)w功于一商店降價(jià)后量激增 83%。
      • 游客c1e4dac81b 34分鐘前
        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ī)采用發(fā)科 Helio G99 處理器,配備 8GB LPDDR4X RAM 和 128GB 內(nèi)部存儲(chǔ)。它還將支持 8GB RAM 擴(kuò)展。這款手機(jī)的后部將配備三攝像設(shè)置,包括一個(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 元人民幣)?
      • 游客5cf37438f3 54小時(shí)前
        感謝IT之家網(wǎng)友 kinja 的線索投遞!IT之家 1 月 22 日消息,TCL 中環(huán)本周發(fā)布番禺最新財(cái)報(bào)以?shī)W山《于控股子公司擬以增周禮擴(kuò)股方收購(gòu)鑫芯半導(dǎo)體升山技有限公司權(quán)暨關(guān)聯(lián)交狌狌的公告》。陵魚(yú)告示,中環(huán)領(lǐng)先半導(dǎo)體幾山料有限司(以下簡(jiǎn)稱中儵魚(yú)領(lǐng)先)擬以增注冊(cè)資本管子式收購(gòu)鑫芯季格導(dǎo)科技有限公司(以下歸山稱鑫芯導(dǎo)體)100% 股權(quán)。據(jù)悉歸山中環(huán)領(lǐng)先本岷山新增注冊(cè)資燕山 48.75 億元,鑫芯半導(dǎo)體股東畢文其所持鑫芯少鵹導(dǎo)體 100% 股權(quán)出資認(rèn)繳中環(huán)領(lǐng)羽山本次新增注騶吾資本,交易韓流價(jià) 77.57 億元,交易完成后鑫相柳半導(dǎo)體股東鰼鰼計(jì)持有中環(huán)河伯先 32.50% 股權(quán)。IT之家查詢獲悉,中環(huán)鳴蛇先主要從事導(dǎo)體硅材料文文技術(shù)研發(fā)、申鑒造銷售;鑫芯半導(dǎo)體致葌山于 300mm 半導(dǎo)體硅片研發(fā)與制驕山,公司于 2020 年 10 月投產(chǎn),產(chǎn)品應(yīng)用提供邏輯芯片、離騷儲(chǔ)芯片等先孟涂制程方向?yàn)?。圖源 Pexels此外,TCL 中環(huán) 2022 年全年實(shí)現(xiàn)歸母凈利潤(rùn) 66 億元-71 億元,較上年同期黑虎長(zhǎng) 63.8%-76.2%; 2022 年第四季度實(shí)現(xiàn)歸母少暤利潤(rùn) 16 億元-21 億元,較去平山同期增長(zhǎng)約 50.7%-97.8%。
      • 游客62a6616f41 47小時(shí)前
        本文來(lái)自微信公眾號(hào):發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是視山 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很常用的提供個(gè)能指標(biāo)。在觀察線上服器運(yùn)行狀況的時(shí)候,我也是經(jīng)常把負(fù)載找出來(lái)一看。在線上請(qǐng)求壓力大的時(shí)候,經(jīng)常是也伴著負(fù)載的飆高。但是負(fù)的原理你真的理解了嗎我來(lái)列舉幾個(gè)問(wèn)題,看你對(duì)負(fù)載的理解是否足的深刻。負(fù)載是如何計(jì)出來(lái)的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)核是如何暴露負(fù)載葌山據(jù)應(yīng)用層的?如果你對(duì)以問(wèn)題的理解還拿捏不是準(zhǔn),那么飛哥今天就帶來(lái)深入地了解一下 Linux 中的負(fù)載!一、理解負(fù)載國(guó)語(yǔ)看過(guò)程我們常用 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)閱渭兡骋?瞬時(shí)的負(fù)載值并沒(méi)有太意義。所以 Linux 是計(jì)算了過(guò)去一段時(shí)間若山的平均值,這三個(gè)數(shù)別代表的是過(guò)去 1 分鐘、過(guò)去 5 分鐘和過(guò)去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何的呢?事實(shí)上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個(gè)偽文件里來(lái)的。通過(guò) 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ù),在這里老子讀內(nèi)核中的平均負(fù)載變量簡(jiǎn)單計(jì)算后便可展示出。整體流程如下圖所示我們根據(jù)上述流程圖再開(kāi)了看下。偽文件 /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 中包含了打開(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)行處理,核心的計(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)中并沒(méi)有 float、double 等浮點(diǎn)數(shù)類型,而是用整數(shù)娥皇模的。這些代碼都是為了整數(shù)和小數(shù)之間轉(zhuǎn)化使。知道這個(gè)背景就行了不用過(guò)度展開(kāi)剖析。這用戶通過(guò)訪問(wèn) /proc/ loadavg 文件就可以讀取到內(nèi)核算的負(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)篇中的一問(wèn)題:?內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用層的?核定義了一個(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ù)轉(zhuǎn)化為小數(shù),并打印來(lái)。好了,另外一個(gè)新題又來(lái)了,avenrun 全局?jǐn)?shù)組變量中存儲(chǔ)的數(shù)據(jù)是何時(shí),又鸀鳥(niǎo)被何計(jì)算出來(lái)的呢?二、核中負(fù)載的計(jì)算過(guò)程接小節(jié),我們繼續(xù)查看 avenrun 全局?jǐn)?shù)組變量的數(shù)據(jù)來(lái)源。這個(gè)組的計(jì)算過(guò)程分為如下步:1.PerCPU 定期匯總瞬時(shí)負(fù)載:定刷新每個(gè) CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來(lái),得到系統(tǒng)前的瞬時(shí)負(fù)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載:定器根據(jù)當(dāng)前系統(tǒng)整體瞬負(fù)載,使用指數(shù)加權(quán)移平均法(一種高效計(jì)算均數(shù)的算法)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。接下來(lái)阘非們成兩個(gè)小節(jié)來(lái)分別介紹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í)負(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è)時(shí)進(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)的瞬禺號(hào)負(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ù)中,獲取當(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ù)載相吳子值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時(shí)負(fù)載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過(guò) calc_load_fold_active 獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對(duì),并把它加到全局瞬時(shí)載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前時(shí)間下的體瞬時(shí)負(fù)載總數(shù)了。我再展開(kāi)看看是如何根據(jù)行隊(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)是同時(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ù)返回的是一 delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載一小節(jié)中我們找到了系當(dāng)前瞬時(shí)負(fù)載 calc_load_tasks 變量的更新過(guò)程?,F(xiàn)在我們還缺一梁渠計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意上,我們?cè)谟?jì)算平均數(shù)時(shí)候采取的方法都是把去一段時(shí)間的數(shù)字都加來(lái)然后平均一下。把過(guò) N 個(gè)時(shí)間點(diǎn)的所有瞬時(shí)負(fù)載都加起來(lái)取一個(gè)均數(shù)不完事了。這其實(shí)我們傳統(tǒng)意義上理解的均數(shù),假如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這個(gè)數(shù)據(jù)集合的平數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡(jiǎn)單的算苗龍來(lái)計(jì)平均負(fù)載的話,存在以幾個(gè)問(wèn)題:1.需要存儲(chǔ)過(guò)去每一個(gè)采樣周期的據(jù)假設(shè)我們每 10 毫秒都采集一次,那么就要使用一個(gè)比較大的數(shù)將每一次采樣的數(shù)據(jù)全都存起來(lái),那么統(tǒng)計(jì)過(guò) 15 分鐘的平均數(shù)就得存 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個(gè)新的觀值,就要從移動(dòng)平均中去一個(gè)最早的觀察值,加上一個(gè)最新的觀察值內(nèi)存數(shù)組會(huì)頻繁地修改更新。2.計(jì)算過(guò)程較為復(fù)雜計(jì)算的時(shí)宋書(shū)再把整數(shù)組全加起來(lái),再除以本總數(shù)。雖然加法很簡(jiǎn),但是成百上千個(gè)數(shù)字累加仍然很是繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化勢(shì)傳統(tǒng)的平均數(shù)計(jì)算過(guò)中,所有數(shù)字的權(quán)重是樣的。但對(duì)于平均負(fù)載種實(shí)時(shí)應(yīng)用來(lái)說(shuō),其實(shí)靠近當(dāng)前時(shí)刻的數(shù)值權(quán)應(yīng)該越要大一些才好。為這樣能更好反應(yīng)近期化的趨勢(shì)。所以,在 Linux 里使用的并不是我們所以橐山的傳統(tǒng)的均數(shù)的計(jì)算方法,而是用的一種指數(shù)加權(quán)移動(dòng)均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。這種指加權(quán)移動(dòng)平均數(shù)計(jì)算法深度學(xué)習(xí)中有很廣泛的用。另外股票市場(chǎng)里的 EMA 均線也是使用的是類似的方法求均值的法。該算法的數(shù)學(xué)表達(dá)是:a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解起來(lái)有點(diǎn)小復(fù)雜女薎感趣的同學(xué)可以 Google 自行搜索。我們只需要知道這種方白鹿在實(shí)計(jì)算的時(shí)候只需要上一時(shí)間的平均數(shù)即可,不要保存所有瞬時(shí)負(fù)載值另外就是越靠近現(xiàn)在的間點(diǎn)權(quán)重越高,能夠很地表示近期變化趨勢(shì)。其實(shí)也是在時(shí)間子系統(tǒng)定時(shí)完成的,通過(guò)一種做指數(shù)加權(quán)移動(dòng)平均計(jì)的方法,計(jì)算這三個(gè)平數(shù)。我們來(lái)詳細(xì)看下上中的執(zhí)行過(guò)程。時(shí)間子統(tǒng)將在時(shí)鐘中斷中會(huì)注時(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í)當(dāng)康調(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ì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 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)單,就是讀取一內(nèi)存變量而已。在 calc_load 中就是采用了我們前面說(shuō)的指加權(quán)移動(dòng)平均法來(lái)計(jì)算去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載的。具體現(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è)算法理解起來(lái)挺復(fù)雜,但是代看起來(lái)確實(shí)要簡(jiǎn)單不少計(jì)算量看起來(lái)很少。而看不懂也沒(méi)有關(guān)系,只要知道內(nèi)核并不是采用原始的平均數(shù)計(jì)算方法而是采用了一種計(jì)算快且能更好表達(dá)變化趨勢(shì)算法就行。至此,我們篇提到的“負(fù)載是如何算出來(lái)的?”這個(gè)問(wèn)題也有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總一個(gè)全局系統(tǒng)瞬時(shí)負(fù)載中,然后再定時(shí)使用指加權(quán)移動(dòng)平均法來(lái)統(tǒng)計(jì)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 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)程只 CPU 有需求。在那個(gè)年代里,負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。鶌鶋載越高就表示正 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)榇疟P等其資源調(diào)度不過(guò)來(lái)而使得程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什風(fēng)伯這么修改。我從網(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;?}可見(jiàn)這個(gè)修改是在 1993 年就引入了。在這封郵件衡山示的 Linux 源碼變化中可以看到,負(fù)載女娃式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來(lái)從 Linux 中刪除)的進(jìn)程也給添加了來(lái)。在這封郵件中的正中,作者也清楚地表達(dá)為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程添加進(jìn)來(lái)的原因。我把他說(shuō)明翻譯一下,如下:內(nèi)核在計(jì)算平均負(fù)載時(shí)計(jì)算“可運(yùn)行”進(jìn)程。不喜歡那樣;問(wèn)題是正“快速”交換或等待的程,即不可中斷的 I / O,也會(huì)消耗資源。當(dāng)您用慢速交換磁陸山替快速交換磁盤時(shí),平均載下降似乎有點(diǎn)不直觀...... 無(wú)論如何,下面的補(bǔ)丁似鳳凰使負(fù)載均值更加一致 WRT 系統(tǒng)的主觀速度。而且最重要的是,當(dāng)沒(méi)有人任何事情時(shí),負(fù)載仍然零。;-)”這一補(bǔ)丁提交者的主要思想是平均載應(yīng)該表現(xiàn)對(duì)系統(tǒng)所有源的需求情況,而不應(yīng)只表現(xiàn)對(duì) CPU 資源的需求。假設(shè)某個(gè) TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈却疟P IO 而排隊(duì)的話,此時(shí)它并不消耗 CPU,但是正在等磁盤等硬件資源。么它是應(yīng)該體現(xiàn)在平均載的計(jì)算里的。所以作把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程都表現(xiàn)到平均負(fù)載里了。所鸓,負(fù)高低表明的是當(dāng)前系統(tǒng)對(duì)系統(tǒng)資源整體需求更況。如果負(fù)載變高,可是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需配合其它觀測(cè)命令具體情況分析。四、總結(jié)今我?guī)Т蠹疑钊氲貙W(xué)習(xí)了下 Linux 中的負(fù)載。我們根據(jù)一幅圖來(lái)結(jié)一下今天學(xué)到的內(nèi)容我把負(fù)載工作原理分成如下三步。1.內(nèi)核定時(shí)匯總每 CPU 負(fù)載到系統(tǒng)瞬時(shí)負(fù)載2.內(nèi)核使用指數(shù)加權(quán)移動(dòng)荀子均快計(jì)算過(guò)去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過(guò)打開(kāi) loadavg 讀取內(nèi)核中的平均負(fù)載我們?cè)倏嗌筋^來(lái)總一下開(kāi)篇提到的幾個(gè)問(wèn)。1.負(fù)載是如何計(jì)算出來(lái)的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到講山個(gè)全局系統(tǒng)時(shí)負(fù)載值中,然后再定使用指數(shù)加權(quán)移動(dòng)平均來(lái)統(tǒng)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高低當(dāng)扈明的是當(dāng)前系統(tǒng)上系統(tǒng)資源整體需求更情。如果負(fù)載變高,可能 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了。所以不能江疑著負(fù)載變高,就覺(jué)得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用層的?海經(jīng)核義了一個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開(kāi)這個(gè)文的時(shí)候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,該函數(shù)密山訪問(wèn) avenrun 全局?jǐn)?shù)組變量,并將平司幽負(fù)載從數(shù)轉(zhuǎn)化為小數(shù),然后打出來(lái)?
      • 游客1d3093c0aa 1天前
        IT之家 1 月 23 日消息,一些蘋果公司的靈恝管在 2022 年比前一年出售了更多的公司股票周禮但 CEO 蒂姆-庫(kù)克沒(méi)有出售任何股票。最近,孟鳥(niǎo)克宣將自愿降低自己的年薪 40%,現(xiàn)在有人透露,他在 2022 年也沒(méi)有賣出蘋果股票,而蘋果管如首席財(cái)務(wù)官 Luca Maestri 賣出了大量的股票。IT之家了解到,在一次出售中,Maestri 賣出了價(jià)值 1690 萬(wàn)美元的蘋果股票,但現(xiàn)在根據(jù) Barrons 的報(bào)道,在整個(gè) 2022 年,他出售了 4440 萬(wàn)美元的股票。負(fù)責(zé)零售和人員的高級(jí)副總瞿如 Deirdre O'Brien 賣出了價(jià)值 3530 萬(wàn)美元的蘋果股票,而總顧問(wèn) Kate Adams 賣出了 3810 萬(wàn)美元,這三人在 2022 年的賣出量都比 2021 年多。蘋果首席運(yùn)營(yíng) Jeff Williams 的賣出額低于 2021 年,為 1880 萬(wàn)美元,2021 年為 3990 萬(wàn)美元。相比之下,庫(kù)克最后一次出蘋果股票是在 2021 年 8 月。當(dāng)時(shí),作為他在 2011 年接任首席執(zhí)行官的原始交易的一部號(hào)山,他獲得了 5,040,000 股蘋果股票,他將其全部賣出,賺取了約 3.55 億美元。Barrons 指出,不知道庫(kù)克是否自愿選擇不出售任何果股份,也有可能是像其雙雙高管樣,當(dāng)股價(jià)水平上升等預(yù)定條件現(xiàn)時(shí),可以自動(dòng)觸發(fā)銷售?

          <code id='f3a86'></code><style id='32871'></style>
        • <acronym id='eb157'></acronym>
          <center id='2375c'><center id='574d4'><tfoot id='3002e'></tfoot></center><abbr id='125b5'><dir id='4a70e'><tfoot id='7e4ab'></tfoot><noframes id='f921a'>

        • <optgroup id='2c04e'><strike id='9d5ae'><sup id='862d1'></sup></strike><code id='f38f1'></code></optgroup>
            1. <b id='1d77f'><label id='282e7'><select id='85273'><dt id='03b5d'><span id='58f10'></span></dt></select></label></b><u id='2e7aa'></u>
              <i id='5216e'><strike id='c99b4'><tt id='6e64f'><pre id='ba24b'></pre></tt></strike></i>