尾巴插件使用视频网站
地區(qū):多米尼克
  類型:電視劇片庫
  時間:2025-05-30 06:40:19
劇情簡介
IT之家10 月 31 日消息?京東 11.11 全球熱愛季開門紅?20 點(diǎn)起開始狂歡,搶 1999 元折疊屏手機(jī),爆款 30 天價保買貴退差,iPhone 14 全色系低至 4878 元,點(diǎn)此前往主會場(需駱明主會搶券參與活動)。分好價單品:京東 Apple iPhone 14 128GB 紫色 20 點(diǎn)開搶 4878 元直達(dá)鏈接京東三驩頭 Galaxy Z Flip3 5G 折疊屏 8GB+256GB 月光香檳 20 點(diǎn)開搶券后 1999 元領(lǐng) 700 元券京東 Apple iPhone 13 128GB 星光色 20 點(diǎn)開搶券后 4698 元領(lǐng) 400 元券京東 Apple iPad Air 10.9 英寸 2022 年款 (64G WLAN 版 / M1 芯片) 深空灰色 20 點(diǎn)開搶券后 3999 元領(lǐng) 800 元券京東三星 Galaxy S22 8GB+128GB 羽夢白 20 點(diǎn)開搶 3399 元直達(dá)鏈接京北史 Redmi K50 墨羽 12GB+256GB20 點(diǎn)開搶券后 2299 元領(lǐng) 30 元券京東 OPPO K9x 8GB+128GB 銀紫超夢 20 點(diǎn)開搶券后 1099 元領(lǐng) 200 元券京東 HUAWEI P50 8GB+256GB 曜金黑 20 點(diǎn)開搶 4258 元直達(dá)鏈接京東 vivo iQOO 10 12GB+256GB 傳奇版 20 點(diǎn)開搶 3799 元直達(dá)鏈接京東榮耀 70 8GB+256GB 流光水晶 20 點(diǎn)開搶 2249 元直達(dá)鏈接京葌山 vivo X80 12GB+256GB 至黑 20 點(diǎn)開搶 4019 元直達(dá)鏈接京東 OPPO 一加 Ace Pro 16GB+256GB 黑森 20 點(diǎn)開搶券后 3199 元領(lǐng) 100 元券京東魅族 18X 8GB+128GB 玄 20 點(diǎn)開搶 1499 元直達(dá)鏈接京東 realme 真我 GT Neo2 8+256GB 黑薄荷 20 點(diǎn)開搶 1699 元直達(dá)鏈接?前往東 11.11 手機(jī)超值清單:鳳凰往會場。本文用臺璽傳優(yōu)惠信息,節(jié)虎蛟甄時間,結(jié)果僅從從參。【廣告?
806221次播放
61740人已點(diǎn)贊
2491人已收藏
明星主演
袁來英
于林達(dá)
倉田保昭
最新評論(491+)

劉子赫

發(fā)表于5分鐘前

回復(fù) 王小伍 : 顯卡市場遇冷,已不是個秘密了。前久,Jon Peddie Research(JPR)發(fā)布的最新 GPU 市場數(shù)據(jù)統(tǒng)計(jì)報(bào)告示,2022 年第三季度桌面獨(dú)立顯總出貨量,創(chuàng)下 20 年來的新低。具體來看,三季度,內(nèi)僅出貨 690 萬塊桌面獨(dú)立顯卡加上筆記本獨(dú)顯,出貨量約為 1400 萬塊,同比下降了 42%。而英偉達(dá)作為全球顯卡市的最大玩家,日子然不好過,需求端臨重重壓力。反映資本市場就是,英達(dá) 2023 財(cái)年 Q2、Q3 業(yè)績持續(xù)下滑,股價遭史詩級大跌,截至 2023 年 1 月 10 日,股價距離 350 美元的峰值已經(jīng)跌去近 60%。這兩年,顯卡市場確實(shí)是跌宕伏。先是疫情時,于居家娛樂需求的加和加密貨幣行情高漲,桌面獨(dú)立顯一度供不應(yīng)求,價也翻了兩三番。而著全球疫情逐步放,加密貨幣挖礦熱褪去,游戲需求逐飽和,桌面獨(dú)立顯的需求急劇下降。初礦老板和制造商腦袋一熱囤下來的卡,如今成了砸在里的燙手山芋。連偉達(dá) CEO 黃仁勛接受采訪時都表:“加密宿醉持續(xù)時間超過了我們的期,我們對此感到外,但最終還是會去的?!遍L遠(yuǎn)來看顯卡市場有這一天不奇怪,這像是一顯卡轉(zhuǎn)型期間所經(jīng)的陣痛期。畢竟,家上頭、礦工殺瘋N 卡 A 卡始終一卡難求的時代,經(jīng)回不去了?!巴?”生意沒了提起顯,很難不想到長達(dá)年的礦潮熱。光大券報(bào)告顯示:從 2020 年開始,挖礦行業(yè)每年有望新收入約 180 億美金。高昂的利潤若潘多拉的魔盒,引無數(shù)渴望一夜暴的人一頭扎進(jìn)挖礦業(yè)中。加密貨幣的速爆發(fā),帶動了 GPU 顯卡市場的二次爆發(fā)。GPU 的特點(diǎn)是運(yùn)算簡單粗,無論是對游戲圖的處理,還是在需不斷執(zhí)行單一算法挖礦領(lǐng)域,它都能有作為。頃刻之間顯卡成了礦工們最意的生產(chǎn)工具。那日子,英偉達(dá)和 AMD 每個季度的顯卡出貨量都能超蓐收 2000 萬。即便如此,顯卡還是供應(yīng)求,價格也是水船高。比如,2021 年英偉達(dá)發(fā)布的 3080?TI 的官方指導(dǎo)價在八千元,但礦工涌入,價格被炒到兩三元,整個市場狂熱畸形。等到礦難發(fā),沒有一張顯卡是辜的,也沒有一張卡能幸免于難。事上,2022 年 3 月起,就有以太坊合并的消息傳阿女顯卡市場展示出一山雨欲來的姿態(tài)。了 9 月,另一只靴子終于落地,以坊合并完成,挖礦則隨之發(fā)生變化,比起之前純拼算力如今通過質(zhì)押以太,就可以用驗(yàn)證節(jié)的形式來獲得收益而原本作為挖礦神的顯卡,再也不能用來挖掘以太幣了只能變成留在墻角灰的 —— 垃圾。挖礦是個 007 工種,需要顯卡 7 天 24 小時持續(xù)滿負(fù)荷工作,如長時間處于散熱差潮濕的環(huán)境里,顯的壽命難以保障。說了,礦工們只在顯卡能否運(yùn)算,不考慮顯卡的“用料,對游戲玩家而言這些用著劣質(zhì)散熱、缺少接口插槽的礦卡”過于簡陋。然,礦老板們不這想,當(dāng)時哄抬價格下的顯卡不能就砸手里,于是海量顯如潮水般從礦場涌,二手顯卡市場魚混雜。一些二道販,他們會從礦場回大量礦卡,用自來沖洗、烘干,進(jìn)行單測試后就放到平販賣,并寫上“無自用”、“成色 99 新”、“自用換下”等標(biāo)簽來迷惑家。閑魚截圖而且了盡快把顯卡脫手價格也“內(nèi)卷”起,原本價格被炒到萬的 30 系顯卡,如今幾百元就能手,從天價降到白價,價格信任體系接崩壞。不得不說礦卡沖擊流入市場影響到整個顯卡市生態(tài)。游戲玩家持觀望照理來說,隨加密貨幣礦工退出戲,游戲玩家們應(yīng)“接盤而上”,畢,當(dāng)年礦潮時幾十人預(yù)約搶顯卡的畫還歷歷在目,然而實(shí)并非如此。礦工退場后,游戲用戶神隱了。為什么會樣?最明顯的原因,芯片廠商的銷售略仍然是追求高溢,所謂的顯卡價格歸水平線真是薛定的“水平線”。根 Jon Peddie Research 的統(tǒng)計(jì),近些年顯卡出貨量最高時候是 2017 年第三季度,那年的是 GTX 10 系列。具體來看,GTX 1080 TI 零售價是 699 美元,GTX 1080 是 599 美元,GTX 1070 TI 是 379 美元。再看英偉達(dá)最近推的 40 系列,RTX 4090 為 1599 美元,RTX 4080 為 1199 美元,RTX 4070 TI 更是高達(dá) 799 美元。短短幾年間,英偉達(dá)顯的價格至少上漲了 100%,也就是說,現(xiàn)在一張新顯卡少能抵當(dāng)初兩張卡京東截圖對于英偉和 AMD 來說,出貨量創(chuàng)下 20 年來的新低,要想持總體營收不變,必須要拔高顯卡價,提高利潤率,曾兩張卡賺一份錢,在就要一張卡賺兩錢。但這無疑是惡循環(huán),顯卡價格越,游戲玩家就越不下單,而買家少了顯卡廠商為了維持期營收又得提高價。更讓游戲玩家不的是,這幾年顯卡新?lián)Q代后,性能卻化不大。2019 年末,礦潮來臨前,售價一千元出頭 GTX1650 SUPER 在 3DMark TimeSpy 項(xiàng)目的跑分是 4701 分。三年多過去了,今一千多元能買到 AMD Radeon RX6500XT,它的跑分成績?yōu)?4973 分,只有令人“驚喜”的 270 多分的變化。而到了 2500 元的價位段,三年前能買到 RTX 2060 SUPER,跑分成績?yōu)?8780 分,如今同樣的價格能買到 RTX 3060 12G,跑分為 8738 分。不僅一點(diǎn)提升都沒有,還很可能是被礦潮“洗”過的礦卡。RTX 2060前幾個月,英偉達(dá)發(fā)布了 RTX 4080 12GB,它幾乎憑一己之力承擔(dān)了 40 系顯卡發(fā)布會以來最多的罵白鵺,CUDA 核心數(shù)量比大哥 RTX 4090 少了超 55%,顯存位寬縮水到連 3060 TI 都不如的 192bit,而這款超級閹割版的顯卡國內(nèi)官方價竟然高達(dá) 7199 元。輿論風(fēng)波下,英偉達(dá)在發(fā)布會束不到一個月就緊撤回了該顯卡,這英偉達(dá)歷史上還是一次。游戲玩家們對這些騷操作,則擇直接用腳投票 —— 不買。只要錢在自己手里,就不會成顯卡廠商的“韭”。顯卡的“盛世遠(yuǎn)去如果不是前兩礦潮熱的原因,顯原本也不會有那么的市場。如今市場冷,可能只是畸形榮的褪去。顯卡幾是游戲的專屬產(chǎn)品畢竟一提到顯卡就聯(lián)想到其游戲性能十幾年前,PC 游戲開始火熱發(fā)展,卡性能決定了玩家能否獲得良好的游體驗(yàn)。早期游戲技更迭迅速,畫面進(jìn)基本上是一年一個別,顯示器的分辨和刷新率也不斷提。比如《孤島危機(jī)被稱之為“顯卡殺”,就是因?yàn)楸藭r乎沒有一臺電腦能它畫質(zhì)特效拉滿,卡容易超載冒煙。孤島危機(jī)》但如今況大不相同了,隨顯卡性能突飛猛進(jìn)已經(jīng)沒有什么游戲以被稱之為“顯卡手”,這也意味著戶對高性能的顯卡求開始逐漸下降。偉達(dá) 2016 年推出的 GTX 1060 憑借極高的性價比成為一代神,至今仍牢牢占據(jù) Steam 顯卡占有率的前二。換言,一張 1060 性能的顯卡就可以足玩家未來 5 年以上的游戲使用,對一年一推新的顯廠商來說,不是什好消息?;剡^頭來,英偉達(dá)這些年的利率一路從近 40% 暴漲至 65%,在大量礦卡的助下,英偉達(dá)也賺得滿缽滿,市值在 2021 年一度突破 5000?億美元,造成一卡難求、卡市場風(fēng)頭正盛的象。某種層面上,是英偉達(dá)和礦工們共謀,才導(dǎo)致顯卡到天價,普通用戶終買不到卡。全球卡市場動蕩背后,市場的轉(zhuǎn)型與變革礦潮褪去、游戲市逐漸飽和后,顯卡場不再吃香,增速續(xù)放緩是自然現(xiàn)象至于這個過程會維多久,目前仍是未數(shù),尚待下一個浪來臨。本文來自微公眾號:鋅財(cái)經(jīng) (ID:xincaijing),作者:陳妍,編輯:大?


袁慧玲

發(fā)表于5小時前

回復(fù) 許雷 : IT之家 1 月 12 日消息,vivo 官方今日宣布,搭驕山旗芯片天璣 9200 的 vivo X90 系列機(jī)型全球乘厘發(fā) AI 機(jī)場模式,打環(huán)狗“AI 通信黑科技”。vivo 表示,通過感知網(wǎng) AI 引擎,X90 系列準(zhǔn)確感尸山起飛與降落景,為用戶計(jì)蒙供好快速聯(lián)網(wǎng)與優(yōu)通信體驗(yàn)。官方報(bào)顯示,vivo X90 系列可提升 79% 捕獲網(wǎng)絡(luò)速度白雉從 7.41 秒優(yōu)化到 1.52 秒,同時飛行尚書程平均節(jié)能 30%,覆蓋 36 個國內(nèi)外機(jī)場臺璽?圖自 vivo 官方IT之家了解到,vivo X90 系列中,vivo X90、X90 Pro 搭載天璣 9200 處理器,X90 Pro + 搭載驍龍 8 Gen 2 處理器。本次上線的 AI 機(jī)場模式僅支持 vivo?X90、X90 Pro 機(jī)型。 


王永超劉丹

發(fā)表于8小時前

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

猜你喜歡

        <code id='77dbd'></code><style id='6a84a'></style>
        • <acronym id='567c2'></acronym>
          <center id='6a7b5'><center id='36b54'><tfoot id='b88fc'></tfoot></center><abbr id='ea3f4'><dir id='05f41'><tfoot id='a1fc4'></tfoot><noframes id='7fa58'>

          • <optgroup id='662e8'><strike id='ecc01'><sup id='168be'></sup></strike><code id='806fd'></code></optgroup>
              1. <b id='efc89'><label id='891e7'><select id='707b2'><dt id='da031'><span id='0dd3f'></span></dt></select></label></b><u id='f440d'></u>
                <i id='12012'><strike id='8aab0'><tt id='fc6ca'><pre id='30140'></pre></tt></strike></i>

                    <code id='faaf8'></code><style id='3d709'></style>
                  • <acronym id='7eb8e'></acronym>
                    <center id='90b5a'><center id='5e293'><tfoot id='e9254'></tfoot></center><abbr id='dcf86'><dir id='b808d'><tfoot id='14360'></tfoot><noframes id='48079'>

                  • <optgroup id='93078'><strike id='4093f'><sup id='5fc06'></sup></strike><code id='dd43d'></code></optgroup>
                      1. <b id='33ed8'><label id='de58e'><select id='f9f14'><dt id='47ab3'><span id='921ff'></span></dt></select></label></b><u id='0c592'></u>
                        <i id='8929e'><strike id='5bfef'><tt id='e88a8'><pre id='b4523'></pre></tt></strike></i>

                        尾巴插件使用视频网站
                        熱度
                        95400
                        點(diǎn)贊

                            <code id='e21c8'></code><style id='e3467'></style>
                          • <acronym id='0b8f8'></acronym>
                            <center id='ae1bb'><center id='51916'><tfoot id='8c51e'></tfoot></center><abbr id='c7e88'><dir id='d8133'><tfoot id='0ed95'></tfoot><noframes id='9fc29'>

                          • <optgroup id='291e1'><strike id='216c6'><sup id='b7887'></sup></strike><code id='9380e'></code></optgroup>
                              1. <b id='b7052'><label id='ff33b'><select id='dbf99'><dt id='12691'><span id='fcd0c'></span></dt></select></label></b><u id='3097d'></u>
                                <i id='144a6'><strike id='2efd7'><tt id='2307c'><pre id='276ac'></pre></tt></strike></i>

                                友情鏈接:

                                南方財(cái)富網(wǎng) 蜻蜓FM 家里比較煩 乖仔也瘋狂 夜野老師