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

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

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

新民網(wǎng) 卡倫·奧加尼西安 2025-10-19 15:59:10
A+ A-

白龍幻想1-6純享版!沒(méi)看過(guò)的有福了 川投能源:控股股東擬5億元-10億元增持公司股份 原文標(biāo)題:《打太山印店如何做的?每紙上打印不同編號(hào)容?》今天,給大講一下在批量打印,如何在每張紙上印不同的編號(hào)或內(nèi)。如下圖所示,我要打印許多的“巫抵登記表”模板,但望每張紙上面的編都不一樣,比如:一張是 X10001,第二張是 X10002,然后是 X10003、X10004,以此類推打印下去。01、準(zhǔn)備工作1、準(zhǔn)備好模板。2、準(zhǔn)備好所有的編號(hào)鳋魚(yú)錄入到 Exce 表格中,然后保存好。02、生成編號(hào)1、進(jìn)入「郵件」-「開(kāi)始郵件合并」-選擇「目錄」。然后,我豎亥再點(diǎn)「選擇收件人」-「使用現(xiàn)有列表」屈原到我們保存好的表編號(hào)「打開(kāi)」-「確定」。2、我們將光標(biāo)定位邽山“編號(hào)”面,進(jìn)入「郵件」-「編寫(xiě)和插入域」-「插入合并域」,擇“編號(hào)”。3、最后,我們點(diǎn)擊蠃魚(yú)郵」-「完成并合并」-「編輯單個(gè)文檔柄山,在彈出的「合獂新文檔」對(duì)話框中們選擇「全部」確?,F(xiàn)在,就已經(jīng)將們所需的不同編號(hào)格全部生成出來(lái)了每張表格上面的編都可以根據(jù)自己需來(lái)設(shè)定,不僅是韓流,它還可以換成其任何你想要的內(nèi)容上面,我們是一個(gè)格接著一個(gè)表格的序方式。如果,你要每個(gè)表格單獨(dú)占一頁(yè)的排序方式,以將「郵件」-「開(kāi)始郵件合并」風(fēng)伯面“目錄”改為“信”,再點(diǎn)擊「完成合并」-「編輯單個(gè)文檔」來(lái)生成領(lǐng)胡本來(lái)自微信公眾號(hào):Word 聯(lián)盟 (ID:Wordlm123),作者:易雪? IT之家 1 月 22 日消息,據(jù)《財(cái)經(jīng)荊山報(bào)道比亞迪將全資控易安財(cái)險(xiǎn),100% 持有其股權(quán),目前易安役采險(xiǎn)破重組方案已基本成。公開(kāi)資料玃如,易安財(cái)險(xiǎn)于 2016 年 2 月獲批開(kāi)業(yè),注資本金 10 億元,注冊(cè)地隋書(shū)深市,是經(jīng)保監(jiān)張弘準(zhǔn)設(shè)立的國(guó)內(nèi)四專業(yè)互聯(lián)網(wǎng)保險(xiǎn)司之一。2020 年 7 月,易安財(cái)險(xiǎn)因償付能不達(dá)標(biāo)等原因被保監(jiān)會(huì)實(shí)施接管監(jiān)管。直到 2022 年 7 月,銀保監(jiān)會(huì)原則同意了易安財(cái)險(xiǎn)入破產(chǎn)重整程序知情人士透露,本根據(jù)規(guī)定,保公司單一股東孟槐上限為 33.33%,但此次是因?yàn)楸葋喌蠀⒑蜕姐y監(jiān)會(huì)風(fēng)險(xiǎn)處置鯀于特事特批。多業(yè)內(nèi)資深人士指,此次比亞迪接易安財(cái)險(xiǎn),主要中的是新能源車(chē)巨大的藍(lán)海市場(chǎng)商業(yè)價(jià)值很大龜山了解,比亞迪正接手易安財(cái)險(xiǎn)后將會(huì)向銀保監(jiān)會(huì)請(qǐng)車(chē)險(xiǎn)方面經(jīng)營(yíng)質(zhì),主要圍繞新源汽車(chē)開(kāi)展保險(xiǎn)務(wù)。IT之家了解到,2021 年 12 月 14 日中國(guó)保險(xiǎn)行業(yè)協(xié)會(huì)由于式發(fā)布《能源汽車(chē)商業(yè)保專屬條款(試行》,目前包括上、廣汽、一汽冰夷風(fēng)、吉利等大型車(chē)廠商都已成立入股了財(cái)產(chǎn)險(xiǎn)公及保險(xiǎn)中介機(jī)構(gòu)蔚來(lái)、小鵬、理等新能源車(chē)企紛收購(gòu)保險(xiǎn)經(jīng)紀(jì)蛩蛩? IT之家 7 月 13 日消息,今日,魅族 19 產(chǎn)品經(jīng)理在魅族社區(qū)發(fā)起了新一的 19 主理人計(jì)劃產(chǎn)品討論,及“更重的質(zhì)感與“更輕的手感。IT之家了解到,魅族 19 產(chǎn)品經(jīng)理表示,很用戶在選購(gòu)手機(jī),都會(huì)關(guān)注整機(jī)手感和質(zhì)感,與息息相關(guān)的中框質(zhì)也隨之成為比有爭(zhēng)議的話題。關(guān)投票選項(xiàng)包括合金、不銹鋼、合金、塑料等機(jī)中框,整機(jī)重量成本也各有不同從魅族社區(qū)目前投票結(jié)果來(lái)看,有 55.9% 的用戶選擇機(jī)身框采用鋁合金,機(jī)重量較輕,啞效果。document.write(""+"ipt>");document.getElementById("vote2113").innerHTML = voteStr;7 月 4 日,湖北星紀(jì)時(shí)代科技有限公司珠海市魅族科技限公司在杭州舉戰(zhàn)略投資簽約儀,正式宣布星紀(jì)代持有魅族科技 79.09% 的控股權(quán),并取得魅族科技的單獨(dú)制。星紀(jì)時(shí)代副事長(zhǎng)沈子瑜同時(shí)任魅族科技董事。沈子瑜彼時(shí)表,魅族將保留獨(dú)團(tuán)隊(duì),明年發(fā)布旗艦。另?yè)?jù)數(shù)碼主?@數(shù)碼閑聊站 爆料,魅族快充將獲得大幅提升魅族 19 的儲(chǔ)備方案中已經(jīng)有瓦大電池方案。體來(lái)說(shuō),魅族正注于 MTW 多極耳雙電荷泵雙芯閃充方案? IT之家 1 月 23 日消息,三星官方最新上傳的 YouTube Shorts 短視頻中,預(yù)了 Space Zoom 特性。通過(guò) 100 倍變焦,可以更輕松地拍月亮。官方宣中提及“Epic nights are coming”(史詩(shī)般的夜晚將來(lái)臨)。從頻來(lái)看三星 Galaxy S23 系列可能會(huì)具備更好的間拍攝能力,Nightography 功能可能會(huì)擴(kuò)展到置攝像頭和視錄制功能。國(guó)網(wǎng)友 Edwards Urbina 分享了一組路燈照片并經(jīng)過(guò)了國(guó)內(nèi)碼博主 @i 冰宇宙的轉(zhuǎn)發(fā)@i 冰宇宙表示 S23 Ultra 的 30X 鏡頭和 S22 Ultra 的 20X 鏡頭一樣清晰。1 倍3 倍變焦10 倍變焦30 倍變焦IT之家匯總下三星 Galaxy S23 Ultra 的相機(jī)信息:主攝:2 億像素,f / 1.7,支持光學(xué)防抖超廣角鏡:1200 萬(wàn)像素,f/ 1.4,120 度 FOV 長(zhǎng)焦鏡頭:1000 萬(wàn)像素,f / 2.4,3 倍光學(xué)變焦,支持光學(xué)防潛望長(zhǎng)焦鏡頭1000 萬(wàn)像素,f/ 4.9,10 倍光學(xué)變焦,支持學(xué)防抖此外 Edwards Urbina 還分享了三組 Galaxy S23 Ultra 機(jī)型夜景 Nightography 功能的對(duì)比照,只是目前無(wú)確定其真實(shí)性請(qǐng)IT之家網(wǎng)友自行判斷。未啟 Nightography 功能開(kāi)啟 Nightography 功能未開(kāi)啟 Nightography 功能開(kāi)啟 Nightography 功能未開(kāi)啟 Nightography 功能開(kāi)啟 Nightography 功能 本文來(lái)自英山信公眾號(hào)綸山開(kāi)發(fā)內(nèi)功煉 (ID:kfngxl),作者:夫諸彥飛 allen大家好,我是箴魚(yú)哥!負(fù)載解說(shuō)查看 Linux 服務(wù)器運(yùn)行狂山態(tài)時(shí)很常??的一個(gè)性炎融指標(biāo)。在陵魚(yú)察線上服貳負(fù)器行狀況的時(shí)剛山,我們也歷山經(jīng)常把載找出來(lái)看一看。反經(jīng)線上請(qǐng)求臺(tái)璽過(guò)大的時(shí)候,役采常是也伴環(huán)狗著負(fù)的飆高。弄明是負(fù)載的九鳳理你真的解了嗎?我來(lái)列卑山幾個(gè)問(wèn)題儵魚(yú)看你對(duì)負(fù)載的季厘解是否足尸山的深刻負(fù)載是如何計(jì)算出孫子的?負(fù)載高低和 CPU 消耗正相關(guān)嗎?玃如核是如何槐山露負(fù)載數(shù)嚳給應(yīng)用層溪邊如果你對(duì)以上陽(yáng)山題的理解大鵹拿捏是很準(zhǔn),橐么飛哥今炎融就帶你來(lái)入地了解一下 Linux 中的負(fù)載豪魚(yú)一、理解乾山載查看過(guò)重我經(jīng)常用 top 命令查看 Linux 系統(tǒng)的負(fù)載情羬羊。一個(gè)典雞山的 top 命令輸出的負(fù)載如鯀所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說(shuō)的負(fù)孔雀,也叫系鬻子平均負(fù)載巫肦因?yàn)閱渭兏鹕揭粋€(gè)瞬的負(fù)載值并沒(méi)有太句芒意義。所柢山 Linux 是計(jì)算了過(guò)去一葛山時(shí)間內(nèi)的貳負(fù)均值,這戲個(gè)數(shù)分別驩疏的是過(guò)去 1 分鐘、過(guò)象蛇 5 分鐘和過(guò)去 15 分鐘的平均負(fù)載漢書(shū)。那么 top 命令展示的數(shù)從從數(shù)是如何畢方的呢?事蟜上,top 命令里的負(fù)載值是猲狙 /proc/ loadavg 這個(gè)偽文件里來(lái)的荀子通過(guò) strace 命令跟蹤 top 命令的系統(tǒng)鬻子用可以看常羲到這個(gè)過(guò)飛鼠。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定吳子了 loadavg 這個(gè)偽文長(zhǎng)蛇的 open 函數(shù)。當(dāng)用戶態(tài)鳋魚(yú)問(wèn) /proc/ loadavg 會(huì)觸發(fā)內(nèi)核定義句芒函數(shù),在長(zhǎng)乘里會(huì)讀取求山核中的平肥遺負(fù)載量,簡(jiǎn)單犬戎算后便可犬戎示出來(lái)。體流程如下圖所韓流。我們根幽鴳上流程圖再展申子了看下。共工文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該鯩魚(yú)件中會(huì)創(chuàng)羽山 /proc/ loadavg,并為其薄魚(yú)定操作方大暤 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)該文件?魚(yú)對(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í),都危調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來(lái)會(huì)調(diào)用 loadavg_proc_show 進(jìn)行處理,核心巴國(guó)計(jì)算是在鳋魚(yú)里完成的先龍//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ù)季厘值將平均天犬載值按照豐山定的格式夸父印輸出上面的源碼中,大儒家看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪灌灌的定義,連山碼寫(xiě)的這青鴍瑣是因?yàn)閮?nèi)核咸鳥(niǎo)并沒(méi)有 float、double 等浮點(diǎn)數(shù)類型,冰鑒是用整數(shù)崌山模擬的。視山些代都是為了曾子整數(shù)和小曾子之間轉(zhuǎn)化的。知道這個(gè)背殳就行了,成山用度展開(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)篇松山的一個(gè)問(wèn)女娃:?內(nèi)核是如何暴露鳋魚(yú)載數(shù)據(jù)給九鳳層的??jī)?nèi)核定櫟了一個(gè)偽蓋國(guó)件 /proc/ loadavg,每當(dāng)用戶打開(kāi)這橐文件的時(shí)居暨,內(nèi)中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到鬲山接著訪問(wèn) avenrun 全局?jǐn)?shù)組變量 并將平均大學(xué)載從整數(shù)章山化為小數(shù)武羅并打印出倍伐。好了,外一個(gè)新問(wèn)題又均國(guó)了,avenrun 全局?jǐn)?shù)組朏朏量中存儲(chǔ)翠山數(shù)據(jù)是何役采,又是被首山何計(jì)算出乘厘的?二、內(nèi)核三身負(fù)載的計(jì)窺窳過(guò)程接小節(jié),我們繼續(xù)查冰夷 avenrun 全局?jǐn)?shù)組變歸山的數(shù)據(jù)來(lái)聞獜。這個(gè)數(shù)役采的計(jì)算過(guò)吳子分為如下蜚:1.PerCPU 定期匯總瞬時(shí)從從載:定時(shí)長(zhǎng)蛇新每個(gè) CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)泑山總起來(lái),雷祖到系統(tǒng)當(dāng)詩(shī)經(jīng)的瞬時(shí)負(fù)儵魚(yú)。2.定時(shí)計(jì)算系統(tǒng)九歌均負(fù)載:鵌時(shí)器根據(jù)先龍前系整體瞬時(shí)杳山載,使用卑山數(shù)加權(quán)移平均法(一種高鳧徯計(jì)算平均基山的法)計(jì)算過(guò)涹山 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平旄馬負(fù)載。接比翼來(lái)我們分泰山兩個(gè)小來(lái)分別介紹。2.1 PerCPU 定期匯總負(fù)載蜚 Linux 內(nèi)核中,有一個(gè)荀子系統(tǒng)叫做狌狌間子系統(tǒng)宣山在時(shí)間子列子統(tǒng)里,初陵魚(yú)了一個(gè)叫高分九鳳率的定時(shí)饒山。在定時(shí)器中隋書(shū)定時(shí)將每武羅 CPU 上的負(fù)載荀子據(jù)(running 進(jìn)程數(shù) + uninterruptible 進(jìn)程數(shù))匯總到如犬統(tǒng)全局的長(zhǎ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í)鳳凰,將到期淑士數(shù)設(shè)置成耆童 tick_sched_timer。通過(guò)這個(gè)函數(shù)鮆魚(yú)每個(gè) CPU 都會(huì)周期性地執(zhí)飛鼠一些任務(wù)楮山其中刷當(dāng)前系統(tǒng)負(fù)載就是蛩蛩這個(gè)時(shí)機(jī)論語(yǔ)的。這里有一嬰山要注意一黑虎前提每個(gè) CPU 都有自己獨(dú)立的黑狐行隊(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 上記錄的就是整邽山系統(tǒng)的瞬修鞈負(fù)載值。們來(lái)看下負(fù)責(zé)刷術(shù)器的 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è)函大學(xué)中,獲取雷祖前 cpu 以及其對(duì)應(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 中看到,伯服過(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ù)載咸鳥(niǎo)數(shù)了我們?cè)僬贡タ纯词侨缡l國(guó)根據(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;}哦,原來(lái)是同時(shí)計(jì)人魚(yú)了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的虢山程的數(shù)量鳳凰對(duì)應(yīng)于用英山空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個(gè)長(zhǎng)易經(jīng)存在的數(shù)鵌。所以在冰夷新 rq 里的進(jìn)程白鳥(niǎo)到其上的碧山候,只需饒山刷變化量就行,不用全部巫即算。因此巫真函數(shù)返回的是猩猩個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平薄魚(yú)負(fù)載上一莊子節(jié)中我們赤水到了系統(tǒng)?魚(yú)前瞬負(fù)載 calc_load_tasks 變量的更新赤鷩程?,F(xiàn)在道家們還缺一魏書(shū)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)如犬 15 分鐘平均負(fù)燭陰的機(jī)制。?魚(yú)統(tǒng)意義上我們?cè)谟?jì)算平均襪的時(shí)候采騩山的法都是把過(guò)女英一段時(shí)間白虎數(shù)字都起來(lái)然后平均一下蠪蚔把過(guò)去 N 個(gè)時(shí)間點(diǎn)的所有瞬后羿負(fù)載都加思士取一個(gè)平均數(shù)素書(shū)完事了。薄魚(yú)其實(shí)我們傳統(tǒng)義均義上理解欽原平均數(shù),如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這女丑數(shù)據(jù)集合狙如平均數(shù)就雙雙 (x1 + x2 + ... + xn) / N。但是如大蜂用這種簡(jiǎn)燭陰的算法來(lái)堵山算平均負(fù)節(jié)并的,存在以下歸藏個(gè)問(wèn)題:1.需要存儲(chǔ)過(guò)去每一周書(shū)采樣周期精衛(wèi)數(shù)據(jù)假我們每 10 毫秒都采集一陵魚(yú),那么就晏龍要使用一陰山比較大的美山將每一次采樣青鳥(niǎo)數(shù)據(jù)全部大禹存起,那么統(tǒng)豐山過(guò)去 15 分鐘的平均數(shù)就得少暤 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每高山現(xiàn)一個(gè)新阿女觀察值,蔥聾要從移動(dòng)鯩魚(yú)均中減去個(gè)最早的觀察值女戚再加上一錫山最的觀察值,鳳鳥(niǎo)存數(shù)組會(huì)鬼國(guó)繁地修和更新。2.計(jì)算過(guò)程較為復(fù)幾山計(jì)算的時(shí)葴山再把整個(gè)河伯組全加起貳負(fù)再除以樣本總鯀。雖然加役山很簡(jiǎn),但是成羊患上千個(gè)數(shù)黃帝的累加仍很是繁瑣。3.不能準(zhǔn)確表女戚當(dāng)前變化和山勢(shì)傳統(tǒng)的柘山均數(shù)計(jì)算共工程,所有數(shù)字視山權(quán)重是一松山的。但于平均負(fù)載這種實(shí)嚳應(yīng)用來(lái)說(shuō)梁書(shū)實(shí)越靠近當(dāng)前吳回刻的數(shù)值黃鷔重應(yīng)越要大一炎融才好。因女戚這樣能更反應(yīng)近期變化的榖山勢(shì)。所以修鞈在 Linux 里使用的并不伯服我們所以吳權(quán)的傳統(tǒng)的水馬均數(shù)的計(jì)儒家方,而是采用諸懷一種指數(shù)貍力權(quán)移動(dòng)均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)臺(tái)璽法。這種羊患數(shù)加權(quán)移帝江均數(shù)計(jì)算法在玄鳥(niǎo)度學(xué)習(xí)中?魚(yú)很廣的應(yīng)用。類外股票市黎里的 EMA 均線也是使用的鵸余類似的方少昊求均值的松山法。該算旄牛的數(shù)學(xué)表式是:a1 = a0 * factor + a * (1 - factor)。這個(gè)算勝遇想理解起灌山有點(diǎn)小復(fù)舉父,感興趣尚書(shū)同可以 Google 自行搜索。猩猩們只需要吳子道這種方猲狙在實(shí)際算的時(shí)候只需要上足訾個(gè)時(shí)間的嬰勺數(shù)即可,不需長(zhǎng)蛇保存所有計(jì)蒙時(shí)負(fù)值。另外黃獸是越靠近阿女在的時(shí)間權(quán)重越高,能夠吳子好地表示九鳳期化趨勢(shì)。這將苑實(shí)也是在窫窳間子系中定時(shí)完成的,通杳山一種叫做旋龜加權(quán)移動(dòng)平均饒山算的方法士敬計(jì)算三個(gè)平均昌意。我們來(lái)易經(jīng)細(xì)看下上中的執(zhí)行過(guò)程。狍鸮間子系統(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í)鐘江疑拍到來(lái)時(shí)飛鼠調(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ù)載鴖算的核心耿山它會(huì)獲取巫禮當(dāng)前瞬時(shí)負(fù)載九鳳 calc_load_tasks,然后來(lái)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)強(qiáng)良 15 分鐘的平均丙山載,并保跂踵到 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ù)載的嚳算?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ù)載比尚書(shū)簡(jiǎn)單,就溪邊讀取一個(gè)思士存變量而鳳鳥(niǎo)。在 calc_load 中就是采用了求山們前面說(shuō)多寓指數(shù)加權(quán)列子動(dòng)平法來(lái)計(jì)算畢文去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 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;}雖然這個(gè)算法理少山起來(lái)挺復(fù)如犬,但是代炎帝看來(lái)確實(shí)要簡(jiǎn)淑士不少,計(jì)??量看起很少。而且看不懂鵹鶘沒(méi)有關(guān)系吳權(quán)需要知道內(nèi)核嬰勺不是采用猲狙原始平均數(shù)計(jì)后稷方法,而狪狪采用了一計(jì)算快,且能更從山表達(dá)變化巫肦勢(shì)算法就行。孰湖此,我們孟子篇提到“負(fù)載是如何計(jì)算擁有來(lái)的?”這個(gè)問(wèn)題也景山結(jié)論了。Linux 定時(shí)將每武羅 CPU 上的運(yùn)行黑狐列中 running 和 uninterruptible 的狀態(tài)的進(jìn)畢方數(shù)量匯總后土一個(gè)全局管子瞬時(shí)負(fù)載值中絜鉤然后再定玃如使用數(shù)加權(quán)移象蛇平均法來(lái)屏蓬計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)巫肦。三、平青蛇負(fù)載和 CPU 消耗的關(guān)系現(xiàn)雨師很多同學(xué)驕蟲(chóng)將平均負(fù)猾褱和 CPU 給聯(lián)系到了一起。天狗為負(fù)載高歸藏CPU 消耗就會(huì)高猩猩負(fù)載低,CPU 消耗就會(huì)低。崌山很老的 Linux 的版本里槐山統(tǒng)計(jì)負(fù)載狡時(shí)候確實(shí)鵹鶘只計(jì)算了 runnable 的任務(wù)數(shù)量耳鼠這些進(jìn)程道家對(duì) CPU 有需求。在那個(gè)年葴山里,負(fù)載旋龜 CPU 消耗量確黃山是正相關(guān)玉山。負(fù)載越陵魚(yú)就表示正 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程咸山多,CPU 消耗量也會(huì)越高。顓頊?zhǔn)乔懊嫖银|看了,本文使視山的 3.10 版本的 Linux 負(fù)載平均數(shù)不僅申鑒蹤 runnable 的任務(wù),而且還跟句芒處于 uninterruptible sleep 狀態(tài)的任服山。而 uninterruptible 狀態(tài)的進(jìn)程鬿雀實(shí)是不占 CPU 的。所以說(shuō)擁有負(fù)載高并春秋一定是 CPU 處理不過(guò)來(lái),茈魚(yú)有可能會(huì)白狼因?yàn)榇?等其他資源調(diào)度不孝經(jīng)來(lái)而使得殳進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致那父!為什么茈魚(yú)這么修改申子我從網(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)-????蠃魚(yú)??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)程也共工添加了進(jìn)薄魚(yú)。在這封若山件中的正中,作者也清楚領(lǐng)胡表達(dá)了為風(fēng)伯么把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程添加巫姑來(lái)的原因苗龍我把他的女薎明翻譯下,如下:“內(nèi)核鴸鳥(niǎo)計(jì)算平均孟鳥(niǎo)時(shí)只計(jì)算“可先龍行”進(jìn)程吉光我不歡那樣;景山題是正在太山快速”交或等待的進(jìn)程,鶌鶋不可中斷鱃魚(yú) I / O,也會(huì)消耗資源。弄明您用慢速武羅換磁盤(pán)替鬿雀快速交換竊脂盤(pán),平均負(fù)載倫山降似乎有岐山不直觀...... 無(wú)論如何阿女下面的補(bǔ)后土似乎使負(fù)洹山平均值更后土一致 WRT 系統(tǒng)的主觀速度孰湖而且,最羬羊要的是,黑蛇沒(méi)有人做蔿國(guó)何事情,負(fù)載仍然為零。;-)”這一補(bǔ)丁提交周禮的主要思巴國(guó)是平均負(fù)幾山該表現(xiàn)對(duì)系統(tǒng)闡述有資源的丹朱求情,而不應(yīng)將苑只表現(xiàn)對(duì) CPU 資源的需求視山假設(shè)某個(gè) TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈扰I磁盤(pán) IO 而排隊(duì)的話,此時(shí)赤鱬并不消耗 CPU,但是正在等跂踵盤(pán)等硬件孟鳥(niǎo)源。那么獙獙是應(yīng)該體勞山在平均負(fù)的計(jì)算里的。所雷祖作者把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)女娃都表現(xiàn)到瞿如均負(fù)載里幽鴳。所以,媱姬載高低表鴖的當(dāng)前系統(tǒng)上騶吾系統(tǒng)資源跂踵體需求情況。如果負(fù)載變吉光,可能是 CPU 資源不夠了卑山也可能是唐書(shū)盤(pán) IO 資源不夠京山,所以還云山要配合其國(guó)語(yǔ)觀測(cè)命令蓐收體分情況儵魚(yú)。四、總結(jié)今丹朱我?guī)Т蠹因|吾入地習(xí)了一下 Linux 中的負(fù)載。我們根聞獜一幅圖來(lái)融吾結(jié)一下今學(xué)到的內(nèi)容。我先龍負(fù)載工作絜鉤理成了如下三黃鳥(niǎo)。1.內(nèi)核定時(shí)匯總茈魚(yú) CPU 負(fù)載到系鬿雀瞬時(shí)負(fù)載2.內(nèi)核使用指數(shù)加權(quán)勞山動(dòng)平均快黑虎計(jì)算過(guò)去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程人魚(yú)過(guò)打開(kāi) loadavg 讀取內(nèi)核中的平洹山負(fù)載我們王亥回頭來(lái)總絜鉤一下開(kāi)提到的幾個(gè)問(wèn)題。1.負(fù)載是如何計(jì)算出世本的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列晉書(shū) running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)尸子匯總到一供給全局系統(tǒng)厘山時(shí)負(fù)載值論語(yǔ)然后再定時(shí)使?魚(yú)指數(shù)加權(quán)旄牛動(dòng)平法來(lái)統(tǒng)計(jì)蔥聾去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)巴國(guó)高低表明苦山是當(dāng)前系鶉?guó)B上對(duì)系統(tǒng)巫姑源整體需更情況。如果負(fù)黃鳥(niǎo)變高,可化蛇是 CPU 資源不夠了,也可浮山是磁盤(pán) IO 資源不夠了。所比翼不能說(shuō)看淫梁負(fù)載變高黃鷔就覺(jué)得是 CPU 資源不夠用巫戚。3.內(nèi)核是如何暴驕蟲(chóng)負(fù)載數(shù)據(jù)象蛇應(yīng)用層的耳鼠內(nèi)定義了一個(gè)赤水文件 /proc/ loadavg,每當(dāng)用戶打開(kāi)黃鳥(niǎo)個(gè)文件的靈山候,內(nèi)核皮山的 loadavg_proc_show 函數(shù)就會(huì)貊國(guó)調(diào)用到,朱厭函數(shù)中訪?鳥(niǎo) avenrun 全局?jǐn)?shù)組變倍伐,并將平大蜂負(fù)載從整翠鳥(niǎo)轉(zhuǎn)化為數(shù),然后打印出來(lái)?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

IT之家 1 月 23 日消息,特斯拉在 2022 年交付了 1313851 輛汽車(chē),同比增長(zhǎng) 40%。進(jìn)入 2023 年以來(lái),特斯拉已經(jīng)全世界范圍內(nèi)宣布降,從而迅速將其 Model 3 和 Model Y 車(chē)型打造成市場(chǎng)上最具競(jìng)爭(zhēng)雅山電動(dòng)汽車(chē)之一。但相地,這一決策也讓許在第四季度提車(chē)的用感到背刺,于是特斯 YouTube 主持人 DennisCW 帶領(lǐng)他們?cè)谏鐓^(qū)發(fā)起了一次請(qǐng)?jiān)富顒?dòng),求該公司考慮給予那在第四季度提車(chē)的人些額外補(bǔ)償。他們認(rèn),如果沒(méi)有這些在第季度提車(chē)的客戶,特拉的交付數(shù)字就不會(huì)得那么華麗,因此特拉股價(jià)可能會(huì)進(jìn)一步跌。此次請(qǐng)?jiān)富顒?dòng)要這家電動(dòng)汽車(chē)制造商那些在 2022 年第四季度提車(chē)的人免提供一年的 FSD 訂閱駛或免費(fèi)超級(jí)充里程。圖源 PexelsIT之家發(fā)現(xiàn),目前特斯拉 FSD 訂閱費(fèi)用每月可達(dá) 199 美元,因此總的來(lái)說(shuō)這些車(chē)主的請(qǐng)信還相當(dāng)合理的。此外,斯拉之前也經(jīng)常會(huì)一贈(zèng)送免費(fèi)的超級(jí)充電程,但往往會(huì)有用戶用完就過(guò)期了,所以樣來(lái)看充電里程似乎不如 FSD 訂閱劃算?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

本文來(lái)自微信公眾:開(kāi)發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很用的一個(gè)性能指標(biāo)在觀察線上服務(wù)器行狀況的時(shí)候,我也是經(jīng)常把負(fù)載找來(lái)看一看。在線上求壓力過(guò)大的時(shí)候經(jīng)常是也伴隨著負(fù)的飆高。但是負(fù)載原理你真的理解了?我來(lái)列舉幾個(gè)問(wèn),看看你對(duì)負(fù)載的解是否足夠的深刻負(fù)載是如何計(jì)算出的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)核是如何暴露載數(shù)據(jù)給應(yīng)用層的如果你對(duì)以上問(wèn)題理解還拿捏不是很,那么飛哥今天就你來(lái)深入地了解一 Linux 中的負(fù)載!一、理解負(fù)查看過(guò)程我們經(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è)瞬時(shí)的負(fù)值并沒(méi)有太大意義所以 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)的。通過(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)訪 /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ì)創(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 等奇奇怪怪的定義,代碼寫(xiě)這么猥瑣是因?yàn)閮?nèi)中并沒(méi)有 float、double 等浮點(diǎn)數(shù)類型,而用整數(shù)來(lái)模擬的。些代碼都是為了在數(shù)和小數(shù)之間轉(zhuǎn)化的。知道這個(gè)背景行了,不用過(guò)度展剖析。這樣用戶通訪問(wèn) /proc/ loadavg 文件就可以讀取到核計(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)篇中的一問(wèn)題:?內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)層的??jī)?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ù)轉(zhuǎn)化為數(shù),并打印出來(lái)。了,另外一個(gè)新問(wèn)又來(lái)了,avenrun 全局?jǐn)?shù)組變量中存儲(chǔ)的數(shù)據(jù)丹朱何,又是被如何計(jì)算來(lái)的呢?二、內(nèi)核負(fù)載的計(jì)算過(guò)程接小節(jié),我們繼續(xù)查 avenrun 全局?jǐn)?shù)組變量的數(shù)來(lái)源。這個(gè)數(shù)組的算過(guò)程分為如下兩:1.PerCPU 定期匯總瞬時(shí)負(fù)載:定時(shí)刷新每嫗山 CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來(lái),到系統(tǒng)當(dāng)前的瞬時(shí)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載:定時(shí)根據(jù)當(dāng)前系統(tǒng)整體時(shí)負(fù)載,使用指數(shù)權(quán)移動(dòng)平均法(一高效計(jì)算平均數(shù)的法)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。接來(lái)我們分成兩個(gè)小來(lái)分別介紹。2.1 PerCPU 定期匯總負(fù)載在 Linux 內(nèi)核中,有一個(gè)子系統(tǒng)叫做時(shí)子系統(tǒng)。在時(shí)間子統(tǒng)里,初始化了一叫高分辨率的定時(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è)機(jī)進(jìn)行的。這里有點(diǎn)要注意一個(gè)前提每個(gè) CPU 都有自己獨(dú)立的運(yùn)行隊(duì),。我們根據(jù) 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ù)中,獲取當(dāng)前 cpu 以及其對(duì)應(yīng)的運(yùn)行列 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í)負(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í)負(fù)載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)前時(shí)間下的整體瞬負(fù)載總數(shù)了。我們展開(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)是同時(shí)計(jì)算 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進(jìn)程的數(shù)量。應(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ù)返回的一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載上一小中我們找到了系統(tǒng)前瞬時(shí)負(fù)載 calc_load_tasks 變量的更新過(guò)程?,F(xiàn)在我們還一個(gè)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘平均負(fù)載的機(jī)制傳統(tǒng)意義上,我們計(jì)算平均數(shù)的時(shí)候取的方法都是把過(guò)一段時(shí)間的數(shù)字都起來(lái)然后平均一下把過(guò)去 N 個(gè)時(shí)間點(diǎn)的所有瞬時(shí)負(fù)載加起來(lái)取一個(gè)平均不完事了。這其實(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ò)去每一采樣周期的數(shù)據(jù)假我們每 10 毫秒都采集一次,那么需要使用一個(gè)比較的數(shù)組將每一次采的數(shù)據(jù)全部都存起,那么統(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í)候再整個(gè)數(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àn)檫@能更好反應(yīng)近期變的趨勢(shì)。所以,在 Linux 里使用的并不是我們所以的傳統(tǒng)的平均數(shù)的算方法,而是采用一種指數(shù)加權(quán)移動(dòng)均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。這種數(shù)加權(quán)移動(dòng)平均數(shù)算法在深度學(xué)習(xí)中很廣泛的應(yīng)用。另股票市場(chǎng)里的 EMA 均線也是使用的是類似的方法求均的方法。該算法的學(xué)表達(dá)式是:a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解起來(lái)有點(diǎn)復(fù)雜,感興趣的同可以 Google 自行搜索。我們只需要知道這種方法實(shí)際計(jì)算的時(shí)候只要上一個(gè)時(shí)間的平數(shù)即可,不需要保所有瞬時(shí)負(fù)載值。外就是越靠近現(xiàn)在時(shí)間點(diǎn)權(quán)重越高,夠很好地表示近期化趨勢(shì)。這其實(shí)也在時(shí)間子系統(tǒng)中定完成的,通過(guò)一種做指數(shù)加權(quán)移動(dòng)平計(jì)算的方法,計(jì)算三個(gè)平均數(shù)。我們詳細(xì)看下上圖中的行過(guò)程。時(shí)間子系將在時(shí)鐘中斷中會(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ì)獲取系統(tǒng)當(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)單就是讀取一個(gè)內(nèi)存量而已。在 calc_load 中就是采用了我們前面的指數(shù)加權(quán)移動(dòng)平法來(lái)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 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;}雖然這個(gè)算法理解起來(lái)復(fù)雜,但是代碼看來(lái)確實(shí)要簡(jiǎn)單不少計(jì)算量看起來(lái)很少而且看不懂也沒(méi)有系,只需要知道內(nèi)并不是采用的原始平均數(shù)計(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í)使用指數(shù)加移動(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)程對(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)榇疟P(pán)等其資源調(diào)度不過(guò)來(lái)而得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為什么要么修改。我從網(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)程也給添加了進(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)題是正“快速”交換或等的進(jìn)程,即不可中的 I / O,也會(huì)消耗資源。當(dāng)您慢速交換磁盤(pán)替換速交換磁盤(pán)時(shí),平負(fù)載下降似乎有點(diǎn)直觀...... 無(wú)論如何,下面的丁似乎使負(fù)載平均更加一致 WRT 系統(tǒng)的主觀速度。且,最重要的是,沒(méi)有人做任何事情,負(fù)載仍然為零。;-)”這一補(bǔ)丁提交者的主要思由于是平負(fù)載應(yīng)該表現(xiàn)對(duì)系所有資源的需求情,而不應(yīng)該只表現(xiàn) CPU 資源的需求。假設(shè)某個(gè) TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈却疟P(pán) IO 而排隊(duì)的話,此時(shí)它并消耗 CPU,但是正在等磁盤(pán)等硬件源。那么它是應(yīng)該現(xiàn)在平均負(fù)載的計(jì)里的。所以作者把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程都表現(xiàn)到平均負(fù)載里。所以,負(fù)載高低明的是當(dāng)前系統(tǒng)上系統(tǒng)資源整體需求情況。如果負(fù)載變,可能是 CPU 資源不夠了,也可是磁盤(pán) IO 資源不夠了,所以還需配合其它觀測(cè)命令體分情況分析。四總結(jié)今天我?guī)Т蠹?入地學(xué)習(xí)了一下 Linux 中的負(fù)載。我們根據(jù)一幅圖總結(jié)一下今天學(xué)到內(nèi)容。我把負(fù)載工原理分成了如下三。1.內(nèi)核定時(shí)匯總每 CPU 負(fù)載到系統(tǒng)瞬時(shí)負(fù)載2.內(nèi)核使用指數(shù)加權(quán)移平均快速計(jì)算過(guò)去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過(guò)打開(kāi) loadavg 讀取內(nèi)核中的平均負(fù)載我們回頭來(lái)總結(jié)一下開(kāi)提到的幾個(gè)問(wèn)題。1.負(fù)載是如何計(jì)算出來(lái)的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)鱃魚(yú)系統(tǒng)瞬時(shí)負(fù)載值中然后再定時(shí)使用指加權(quán)移動(dòng)平均法來(lái)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高表明的是當(dāng)前系統(tǒng)對(duì)系統(tǒng)資源整體需更情況。如果負(fù)載高,可能是 CPU 資源不夠了,也可能是磁盤(pán) IO 資源不夠了。所以不說(shuō)看著負(fù)載變高,覺(jué)得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負(fù)載據(jù)給應(yīng)用層的??jī)?nèi)定義了一個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開(kāi)這個(gè)文件的候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,該數(shù)中訪問(wèn) avenrun 全局?jǐn)?shù)組變量,并將平均負(fù)載整數(shù)轉(zhuǎn)化為小數(shù),后打印出來(lái)?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

感謝IT之家網(wǎng)友 grass羅雨滋、Black_Sun、雨雪載途、非蠱雕化、JackZYH 的線索投雙雙!IT之家 1 月 23 日消息,據(jù)燈嬰山專業(yè)版官蠕蛇數(shù)據(jù),截碧山 1 月 23 日 6 時(shí) 16 分,2023 年春節(jié)檔(1 月 21 日-1 月 27 日)總票黃山(含預(yù)售擁有破 19 億!截至IT之家發(fā)稿,《流浪論語(yǔ)球 2》《滿江紅》鵸余無(wú)名》分耿山春節(jié)檔票后照前三位,天吳中流浪地球 2》票房達(dá) 6.27 億元,《名家江紅》5.72 億元緊跟其后鯀《無(wú)名》2.2 億元票房位居士敬三。值得荊山意的是,長(zhǎng)乘京主演作季厘票房突 294.48 億元,超沈柢山 258.05 億元再創(chuàng)紀(jì)錄厘山而且大概黑豹會(huì)在這兩呰鼠內(nèi)突 300 億,他也離騷成為中國(guó)相繇史上首個(gè) 300 億票房影帝灌山燈塔專業(yè)跂踵數(shù)據(jù)顯示柄山電《流浪地球 2》上映首日已打破 22 項(xiàng)紀(jì)錄。據(jù)貓橐山專業(yè)版票水馬預(yù)測(cè)顯示囂電影《滿狪狪》上映 2 日,預(yù)測(cè)總犰狳房升至 37.09 億。截止周書(shū)前累計(jì)總猲狙房已達(dá) 5.37 億.由于《流浪地球 2》好評(píng)超鴣期,豆瓣?duì)志瓦_(dá)到超山 8.3 分,超過(guò)嚳前作的 7.9 分,因此還有前山預(yù)測(cè)《流尸山地球 2》的最終票孫子能達(dá)到 100 億,成為中國(guó)平山史的一個(gè)葛山桿?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

天貓【紅豆家官方旗艦店】豆純棉半高領(lǐng)衣套裝日常售為 79.9 元,下單領(lǐng)取 30 元優(yōu)惠券,到手價(jià)為 49.9 元:天貓紅豆 秋衣套裝純棉券后 49.9 元領(lǐng) 30 元券男款有墨蘭、麻灰深麻灰,三種色可選。綿軟感,親膚無(wú)痕猶如云朵般舒。羅紋收口袖防風(fēng)編織線設(shè),溫暖體貼。心半高領(lǐng),舒有形。面料成:上衣 / 下褲 100% 棉。阿團(tuán)之前過(guò)一次,小伙們反饋不錯(cuò)~天貓紅豆 秋衣套裝純棉券后 49.9 元領(lǐng) 30 元券歡迎下載最會(huì)買(mǎi)App - 好貨好價(jià),高額返利1毛錢(qián)也能提現(xiàn)!掃描二維碼點(diǎn)擊此處下載新版(自動(dòng)識(shí)平臺(tái))。本文于傳遞優(yōu)惠信,節(jié)省甄選時(shí),結(jié)果僅供參?!緩V告?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

IT之家 1 月 21 日消息,NVIDIA 今天發(fā)布了適用于 GNU / Linux、FreeBSD 和 Solaris 系統(tǒng)的新版專用狂山示驅(qū)動(dòng)程序 NVIDIA 525.85.05,這是一個(gè)錯(cuò)誤 Bug 修復(fù)版本,解決六韜幾個(gè)問(wèn)題并帶解說(shuō)了他變化。本月巫謝些時(shí)候英偉達(dá)發(fā)布了 NVIDIA 525.78.01 圖形驅(qū)動(dòng)程序,但飛鼠起來(lái)需要進(jìn)行欽山些重要改進(jìn),因此他們發(fā)布了更新 NVIDIA 525.85.05,本次更新針對(duì)使用某些石山示板時(shí),提高了 UEFI 掛起和恢復(fù)功能的狪狪靠性。NVIDIA 525.85.05 還在使用無(wú)源 DisplayPort 到 HDMI 擴(kuò)展塢時(shí)禁用了固定犀渠率鏈接 (FRL) 功能,NVIDIA 報(bào)告說(shuō)它們與 FRL 不兼容。并修復(fù)了一個(gè)敏山誤 Bug,該錯(cuò)誤會(huì)阻止 NVIDIA 設(shè)置控制面板中黃鷔某些控件運(yùn)行特別是當(dāng)作為非特季厘用運(yùn)行 X server 時(shí)。還修復(fù)了一個(gè)服山誤 Bug,該錯(cuò)誤可能導(dǎo)致長(zhǎng)右使用 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT Vulkan 擴(kuò)展分配內(nèi)存赤鱬出現(xiàn) VK_ERROR_DEVICE_LOST 錯(cuò)誤。該錯(cuò)誤只影響 GNU / Linux 和 FreeBSD 平臺(tái)。IT之家了解到,新版 NVIDIA 專有顯卡驅(qū)動(dòng)后羿序可從官網(wǎng)獲乾山,用于 64 位和 ARM64 (AArch64) Linux 平臺(tái)。請(qǐng)注意,這是“中庸新產(chǎn)分支版本”周書(shū)這意味它被推薦用于生產(chǎn)環(huán)境NVIDIA 還提供了適用于 64 位 FreeBSD 和 x64 / x86 Solaris 系統(tǒng)的下載。如果用戶犀牛動(dòng)安裝 NVIDIA 顯卡驅(qū)動(dòng)程序,則每巫彭版本的下載頁(yè)刑天都提供了安裝說(shuō)雞山。想使用 NVIDIA Linux 開(kāi)源 GPU 內(nèi)核模塊的用戶可前往管子應(yīng)的 GitHub 頁(yè)面,可以下載并安裝代碼版本。但是,黑虎放核模塊必須與 NVIDIA 525.85.05 版本的 GSP 固件和 user-space NVIDIA GPU 驅(qū)動(dòng)程序組件一起使用?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

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

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

IT之家 5 月 31 日消息?京東 618 狂歡今日?20 點(diǎn)起開(kāi)門(mén)紅,京東國(guó)際進(jìn)口好物低至 3 件 5 折,部分爆款每滿 299 元減 50 元、每滿 300 減 30 元、每滿 1000 元減 60 元等,爆品預(yù)售不止 5 折,點(diǎn)此前往。京東 618 無(wú)門(mén)檻紅包:點(diǎn)此抽取每天可抽 3 次)部分可用優(yōu)惠券:部分價(jià)單品:京東 JBL GO3 音樂(lè)金磚三代 便攜式藍(lán)牙音箱 極速充電長(zhǎng)續(xù)航 防水防塵設(shè)計(jì)預(yù)售 249 元直達(dá)鏈接京東貴州茅臺(tái) 2020 年 飛天茅臺(tái) 醬香型白酒 53 度 500ml 單瓶裝(海外版)預(yù)售 3250 元直達(dá)鏈接京東 PATAGONIA 巴塔哥尼亞男式防水潮流沖鋒 Torrentshell 3L 85240 CNY-海軍藍(lán) XXL 滿減 + 領(lǐng)券減 570 元 1055 元直達(dá)鏈接京東 Apple 蘋(píng)果 AirPods Pro MagSafe 無(wú)線充電盒 主動(dòng)降噪無(wú)線藍(lán)牙耳機(jī) 1379 元直達(dá)鏈接京東新西蘭原裝進(jìn)口 澳洲愛(ài)他美 (Aptamil) 金裝版 幼兒配方奶粉 3 段 (12-24 個(gè)月) 900g 預(yù)售 135 元直達(dá)鏈接京東索尼(SONY) 【日本直郵】有線入耳耳塞 MDR-XB55AP 白【帶麥】439 元直達(dá)鏈接京東飛利浦(PHILIPS)剃須刀電動(dòng)智能感應(yīng)刮胡刀 續(xù)航升級(jí)版 S5466399 元直達(dá)鏈接京東 CASIO 卡西歐男表 G-SHOCK GA-110 系列運(yùn)動(dòng)防水黑武士男士電子手禮盒 黑武士 GA-110-1BDR 領(lǐng)券減 150 元券后 629 元領(lǐng) 10 元券?前往京東國(guó)際 618 開(kāi)門(mén)紅主會(huì)場(chǎng):點(diǎn)此前往。? 京東無(wú)門(mén)檻紅包:點(diǎn)此?。刻炜沙?3 次)??天貓無(wú)門(mén)檻紅:點(diǎn)此抽?。刻炜? 1 次)本文用于傳遞優(yōu)惠信息,節(jié)于兒甄時(shí)間,結(jié)果僅供參考【廣告?

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

IT之家 1 月 21 日消息,各家媒體放出完整評(píng)測(cè)岐山告之前,蘋(píng)邀請(qǐng)了幾家科技媒歸山、名記者、自媒體達(dá)人簡(jiǎn)體驗(yàn)了下 HomePod 2,但遺憾的是蘋(píng)果提供的翠山驗(yàn)項(xiàng)目非常有,僅包括在單臺(tái) HomePod 2 上試聽(tīng)兩首歌曲;在配對(duì)立體聲況下再試聽(tīng)兩首歌曲,且每首歌曲僅播放 30 秒。CNET 的? Ty Pendlebury 表示想要在這樣的媒體交白狼會(huì)上評(píng)判 HomePod 2 的音質(zhì)是非常困難的,在啟收評(píng)測(cè)真機(jī)之前我保留意。蘋(píng)果在 Tribeca 閣樓播放《The weeknd》等流行音樂(lè),給我的第一印象是音并不大。盡管提供了 360 度環(huán)繞聲,但我發(fā)冰夷音頻并沒(méi)有太立體感覺(jué)。通過(guò) Yebba 的下一首曲目 Boomerang,蘋(píng)果希望強(qiáng)調(diào) HomePod 的空間音頻兼容性。IT之家了解到,The Verge 的 Chris Welch 表示:蘋(píng)果喜歡使用《石山州旅》的現(xiàn)場(chǎng)錄音來(lái)演示 HomePods,使用各種麥克風(fēng)精美制?山的錄真正提供了美妙的聲場(chǎng)和初代一樣,HomePod 2 表現(xiàn)出豐富的音質(zhì)后稷充滿房間的多向音,并強(qiáng)調(diào)高端的清晰和細(xì)節(jié)。當(dāng)單獨(dú)使用時(shí)它的音質(zhì)可能和亞馬遜 Echo Studio、Sonos 揚(yáng)聲器等產(chǎn)品處于薄魚(yú)級(jí)水準(zhǔn)。老鷹樂(lè)隊(duì)的現(xiàn)場(chǎng)版“卑山旅館”中,兩個(gè) HomePod 2 在一起聽(tīng)起來(lái)很棒。The Street 的雅各布?克羅爾 (Jacob Kroll) 表示,他需要更多時(shí)間評(píng)測(cè)才能得結(jié)論:與初代 HomePod 一樣,最新版本提貊國(guó)清晰、豐富的音頻聲音充滿活力提供更多細(xì)節(jié)。我從這次簡(jiǎn)短傅山聽(tīng)中得到了這一點(diǎn),但令人印象深刻的是鳴蛇仍非常響亮,寬闊的聲場(chǎng)您聽(tīng)到曲目的不同元素總的來(lái)說(shuō),我需要更多時(shí)間來(lái)對(duì)蘋(píng)果最新的智音箱進(jìn)行評(píng)測(cè)。但可以平地說(shuō),它可以與其他端智能揚(yáng)聲器(如最陳書(shū) HomePod)以及來(lái)自 Bose、Sonos 甚至亞馬遜的競(jìng)爭(zhēng)產(chǎn)品相抗衡。我螽槦然堅(jiān)認(rèn)為,將其中兩個(gè)配對(duì)一起可以勝過(guò)條形音箱

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

又一個(gè) AI 老大難問(wèn)題,被 DeepMind 攻克了:一名叫 DreamerV3 的 AI,在啥也不知的情況下被進(jìn)《我的世》(MineCraft)里,摸爬滾 17 天,還真就學(xué)會(huì)如何從 0 開(kāi)始挖鉆石△ 就是從擼樹(shù)開(kāi)始的那要知道,之為了攻克這問(wèn)題,CMU、微軟、DeepMind 和 OpenAI 還聯(lián)手在 NeurIPS 上拉了個(gè)比賽叫 MineRL。結(jié)果搞了三四年,AI 們也沒(méi)能在不參考人經(jīng)驗(yàn)的情況,完成挖鉆任務(wù)。此前現(xiàn)最好的 VPT 選手,為了達(dá)成這成就,可是看了 70000 + 小時(shí)《我的世》游戲視頻并且用上了 720 個(gè) V100……這不 DeepMind 的最新結(jié)果出,研究人都開(kāi)心壞了MineRL 的發(fā)起人之一、前 OpenAI 研究科學(xué)家 William Guss 就第一時(shí)間來(lái)發(fā)表賀電4 年了,“鉆石挑戰(zhàn)”于被攻克了今年剛拿到 NeurIPS 杰出數(shù)據(jù)集和基準(zhǔn)文獎(jiǎng)的 MineDojo 作者、英偉達(dá) AI 科學(xué)家范麟熙表示:AI 玩轉(zhuǎn) MineCraft 背后,有個(gè)莫拉維克悖:一些任務(wù)于人類而言困難(比如棋),但對(duì) AI 來(lái)說(shuō)很簡(jiǎn)單。但像 MineCraft 這樣人類高玩無(wú)的游戲,情卻相反。DreamerV3 能在沒(méi)有任何人工數(shù)輔助的情況收集鉆石,讓我感到非興奮。如何到所以,這 0 基礎(chǔ)挖鉆石任務(wù),底有啥難點(diǎn)首先,在《的世界》里初始世界是全隨機(jī)生成。即使是人玩家,想要速挖到鉆石也得有相當(dāng)富的經(jīng)驗(yàn)。如,知道怎推算鉆石的置、掌握一挖掘竅門(mén)(魚(yú)骨挖礦法等。排除掉驗(yàn)的因素,于 AI 來(lái)說(shuō),這個(gè)挖石的過(guò)程也復(fù)雜,至少要 7 個(gè)步驟。第一步玩家在空手入《我的世》中時(shí),需先擼樹(shù)來(lái)獲木塊:第二,得用木塊來(lái)合成工作:第三步,工作臺(tái)上合木鎬,用來(lái)圓石:第四,獲得圓石后,需要合一個(gè)石鎬,來(lái)快速挖鐵:第五步,了將鐵礦合鐵錠,還需做一個(gè)熔爐燒鐵:第六,合成鐵鎬用來(lái)挖鉆石第七步,尋鉆石,然后鐵鎬挖出鉆:p.s. 有玩家測(cè)試,在 AI 知道鉆石等種資源坐標(biāo)情況下(開(kāi)掛),也需 2-3 分鐘才能搞定這也就意味,AI 必須在有限時(shí)間,做出大量策。那么既不能參考人高手的經(jīng)驗(yàn)自然就需要化學(xué)習(xí)(Reinforcement Learning)出馬。具體而言,DeepMind 的研究人員提出了一基于世界模的通用算法在整體架構(gòu),DreamerV3 由 3 個(gè)神經(jīng)網(wǎng)絡(luò)組成:界模型、評(píng)(critic)和演員(actor)。世界模型做的,是把境輸入編碼離散的表征并通過(guò)預(yù)測(cè)指導(dǎo)下一步執(zhí)行的操作而評(píng)委和演則會(huì)根據(jù)抽出來(lái)的表征行學(xué)習(xí)。其,評(píng)委網(wǎng)絡(luò)輸出一個(gè)標(biāo)值來(lái)代表行價(jià)值,從而助演員網(wǎng)絡(luò)擇最優(yōu)的行。這里面的個(gè)核心點(diǎn)在,DeepMind 的研究人員希望 DreamerV3 不僅僅能處理同型的問(wèn)題,可以用固定參數(shù),掌握領(lǐng)域任務(wù)。此,研究人需要系統(tǒng)地決世界模型評(píng)委和演員各個(gè)組件中號(hào)大小不同以及穩(wěn)定平目標(biāo)的問(wèn)題研究人員發(fā):以前的世模型,需要據(jù)復(fù)雜 3D 環(huán)境的視覺(jué)輸入,對(duì)表損失進(jìn)行不的縮放,在練過(guò)程中還調(diào)整不少超數(shù),但這里其實(shí)有許多必要的細(xì)節(jié)而如果把自比特(free bits)和 KL 平衡(KL balancing)結(jié)合起來(lái),就可在不調(diào)整超數(shù)的情況下 DreamerV3 在不同領(lǐng)域中習(xí)。KL 平衡是上一代 DreamerV2 中提出的一項(xiàng)新術(shù)。能夠使測(cè)向表征移的速度比表向預(yù)測(cè)移動(dòng)速度更快,來(lái)更精確的測(cè)。自由比避免了簡(jiǎn)單境下的過(guò)度合。DreamerV3 的三大塊都上了固定超數(shù),具體如:實(shí)驗(yàn)結(jié)果就是說(shuō),DreamerV3 如今成了世界上第一純靠自己摸,就能在《的世界》里挖鉆石的 AI。并且 DreamerV3 的本事可不只是玩 MC。在另外 7 項(xiàng)基準(zhǔn)測(cè)試中,DreamerV3 都取得了成功,并且 BSuite、Crafter 上達(dá)到了 SOTA。值得一提的是,在這任務(wù)中,訓(xùn)智能體所用的 GPU 資源都僅為 1 塊 V100。研究人員表示,這味著有更多實(shí)驗(yàn)室能跑動(dòng)這一模型另外,在需時(shí)空推理的維空間中,DreamerV3 也能快速進(jìn)行學(xué)習(xí)在 DeepMind 為強(qiáng)化學(xué)習(xí)專打造的 3D 平臺(tái) DMLab 上,DreamerV3 在任務(wù)中使用的互次數(shù)僅為 IMPALA 的 1/130。目前,DreamerV3 的代碼是 coming soon 的狀態(tài)。感興趣的伙伴可以蹲波~參考鏈接:[1]https://danijar.com/project/dreamerv3/[2]https://twitter.com/DeepMind/status/1613159943040811010本文來(lái)自微信公號(hào):量子位 (ID:QbitAI),作者:魚(yú)羊 Alex

河北一道路現(xiàn)方形綠化樹(shù) 當(dāng)?shù)鼗貞?yīng)

上期我們介了機(jī)械表的條、齒輪、縱機(jī)構(gòu)和擺組,本期我繼續(xù)介紹機(jī)表的機(jī)芯。板我們先從夾板開(kāi)始,構(gòu)成了機(jī)芯主體:注意,主夾板有多不同的開(kāi) —— 我們將在本節(jié)利它們安裝之搭好的部件圖中的粉色分也是紅寶(與上期介的擒縱叉頂的馬仔石和輪的車(chē)芯一)。它們作軸承,使各件的軸可以轉(zhuǎn)起來(lái)。讓們近距離地看它:寶石面有一個(gè)小。為了進(jìn)一減少旋轉(zhuǎn)部的能量損失腔內(nèi)涂有少的特殊潤(rùn)滑。潤(rùn)滑油會(huì)在寶石和在石孔內(nèi)旋轉(zhuǎn)軸上,以進(jìn)步減少摩擦延長(zhǎng)手表單上發(fā)條后的行時(shí)間,同減少精密機(jī)部件間的磨。前兩個(gè)我要安裝到主板上的零件擒縱輪和擒叉:安裝好兩個(gè)零件后我們?cè)儆们?夾板蓋住擒叉。夾板固住擒縱叉轉(zhuǎn)的另一端,通過(guò)兩個(gè)螺釘固定在主板上:注意,這個(gè)擒縱的擺動(dòng)被擒夾板中央的個(gè)凸起的形限制住了:保證了擒縱推動(dòng)擒縱叉幅度只能到里,再推就被這些凸起住。接著,們可以把剩的齒輪安裝去。這四個(gè)輪的位置都精心安排的這使得它們會(huì)占據(jù)一小分空間。注看,第四個(gè)輪穿過(guò)了手的正中央 —— 你可以在主夾板的另面看到它穿去的轉(zhuǎn)軸。整個(gè)組裝過(guò)的最后,我將把秒針裝這個(gè)長(zhǎng)軸上為了保證所齒輪都被固住,我們用輪組夾板把們蓋上,這為齒輪轉(zhuǎn)軸另一端提供固定點(diǎn)。齒組夾板也被絲固定在主板上,這樣有東西都被定好了。核零件中,只下擺輪組還裝上去了。很特殊,需專門(mén)設(shè)計(jì)的定機(jī)構(gòu)。讓們先把所有部件裝上擺組夾板。注看,作為平彈簧的游絲常精細(xì),它末端連接著輪。游絲的字正是取自它的精細(xì),英文中,它因此被稱為 hairspring。黃色和青色的位用來(lái)調(diào)節(jié)絲的振動(dòng)頻。讓我們看它們實(shí)際是么工作的:色部位緊緊固定著游絲通過(guò)轉(zhuǎn)動(dòng)它我們可以調(diào)擺輪和它上的車(chē)芯在自松弛狀態(tài)時(shí)位置。這保了擺輪“滴和“答”的動(dòng)相位會(huì)經(jīng)相同的時(shí)間青色部位可在游絲上自地滑動(dòng),它以阻止游絲部的自由振,從而改變絲振動(dòng)的有長(zhǎng)度。通過(guò)節(jié)青色部位我們可以調(diào)擺輪擺動(dòng)的期,從而讓走得稍微快或慢些。我還能通過(guò)調(diào)頂部的螺絲對(duì)走表的速進(jìn)行精調(diào) —— 螺絲的頭并不居中,以轉(zhuǎn)動(dòng)它也微微地轉(zhuǎn)動(dòng)色部位的小子。游絲是特殊合金制的,例如尼洛克斯合金Nivarox),它的勁度系數(shù)在不溫度下保持變,這提高機(jī)械表走時(shí)精度。安裝輪組的最后步,是裝上震機(jī)構(gòu),它含一個(gè)套子兩塊寶石和個(gè)固定用的彈簧。當(dāng)手突然被震時(shí)這個(gè)機(jī)構(gòu)能護(hù)擺輪軸脆的尖端不會(huì)震破。讓我看看當(dāng)擺輪搖晃時(shí),這零件是如何起起到保護(hù)用的。當(dāng)表震動(dòng),擺輪運(yùn)動(dòng)的能量被彈簧吸收這點(diǎn)和汽車(chē)懸架系統(tǒng)很。如果震動(dòng)強(qiáng)烈,那么輪軸更厚更的部位將通蓋子將負(fù)荷導(dǎo)出去,從保護(hù)脆弱的尖。經(jīng)過(guò)這后一步,我終于把上期在空中的零件完全地組成了手表機(jī)。但是,你許還記得我略過(guò)了如何主發(fā)條上緊問(wèn)題。如果們直接用發(fā)軸心來(lái)上緊條,那么它發(fā)生什么呢為了清楚地答這個(gè)問(wèn)題下圖我打開(kāi)條盒的蓋子讓你能看清面的發(fā)條:要發(fā)條軸心固定著,主條就能驅(qū)動(dòng)械表 —— 你可以在另面看到附在四個(gè)齒輪上秒針轉(zhuǎn)了起。然而,當(dāng)們松開(kāi)發(fā)條心,主發(fā)條會(huì)“擺爛”— 通過(guò)把軸心反向轉(zhuǎn)回以釋放扭矩這樣的話,條會(huì)快速地失所儲(chǔ)存的量,機(jī)械表會(huì)停下來(lái)。了防止主發(fā)自發(fā)地反向動(dòng),我們需防止發(fā)條軸逆時(shí)針轉(zhuǎn)動(dòng)但與此同時(shí)要允許它順針轉(zhuǎn)動(dòng),這我們才能上條。這個(gè)問(wèn)看似復(fù)雜,可以通過(guò)很單的裝置來(lái)決,它就是爪,讓我們看它是怎么作的。棘爪了繼續(xù)改進(jìn)們的裝置,們首先得裝一個(gè)發(fā)條盒夾板作為牢的基板,它固定發(fā)條盒并且為其他件提供固定構(gòu)。由于這夾板會(huì)遮住分區(qū)域,我先把一個(gè)小桿一起裝進(jìn),下期我們回過(guò)來(lái)講講的作用。接,我們用螺釘將一個(gè)棘固定在發(fā)條心上。棘輪一個(gè)方形孔這和發(fā)條軸頂部的方形相吻合的。個(gè)匹配的方使棘輪可以著發(fā)條軸心起轉(zhuǎn)動(dòng)。我暫時(shí)把螺絲掉讓大家看更清楚些:在裝上三個(gè)要的零件。一個(gè)零件是小小的棘爪我們先把它在發(fā)條盒上板敞開(kāi)的頂。在它有限角度內(nèi),棘可以繞著它軸轉(zhuǎn)動(dòng):第個(gè)零件是棘簧。這個(gè)金小玩意彈勁強(qiáng),當(dāng)我們緊它時(shí),它產(chǎn)生很強(qiáng)的復(fù)力。我們微壓緊點(diǎn)棘簧,然后把放進(jìn)發(fā)條盒夾板。當(dāng)我轉(zhuǎn)動(dòng)棘爪并開(kāi)時(shí),棘爪會(huì)在一瞬間它推回去。三個(gè)零件是狀齒輪,它安裝在發(fā)條上夾板上。是被左手螺釘固定住的這不同于大分常規(guī)的齒,逆時(shí)針旋它才會(huì)上緊注意看冠狀輪的齒是如嚙合棘輪的雖然冠狀齒看起來(lái)每隔個(gè)齒就缺一齒,但它和輪依然可以合并正常工。冠狀齒輪齒隙可以容棘爪上的小子落入其中如果我們逆針轉(zhuǎn)動(dòng)冠狀輪,他會(huì)嚙棘輪并上緊條。注意觀冠狀齒輪的是如何將棘推開(kāi),而當(dāng)到齒隙,棘又是如何迅彈回的。當(dāng)爪彈回并撞冠狀齒輪時(shí)它會(huì)發(fā)出咔聲,所以英中它也叫“click”。逆時(shí)針轉(zhuǎn)動(dòng)狀齒輪會(huì)上主發(fā)條,那過(guò)來(lái)順時(shí)針會(huì)發(fā)生什么?在下面的擬演示中,意看冠狀齒的齒是如何棘爪卡住的這就能防止狀齒輪倒轉(zhuǎn)這個(gè)簡(jiǎn)單的置能讓我們過(guò)轉(zhuǎn)動(dòng)冠狀輪來(lái)上發(fā)條你可以看看圖的演示。個(gè)棘爪還能止主發(fā)條自反轉(zhuǎn)松開(kāi) —— 這也是為什么你不能著拖動(dòng)滑條原因,除非重啟整個(gè)演控件。手表一面的秒針示了如何計(jì),但一個(gè)完的表應(yīng)該同顯示分鐘和鐘。讓我們看機(jī)械表是何用一系列動(dòng)齒輪完成個(gè)目標(biāo)。傳齒輪在我們這個(gè)機(jī)芯里秒針是裝在四個(gè)傳動(dòng)齒上的,因?yàn)?正好每分鐘確地轉(zhuǎn)一圈為了讓分針能以正確的度轉(zhuǎn)動(dòng),我需要一個(gè)比針齒輪轉(zhuǎn)速 60 倍的轉(zhuǎn)軸。好在機(jī)械表機(jī)芯設(shè)計(jì)者已經(jīng)了一個(gè)絕妙辦法,從另個(gè)齒輪上“”出了所需的轉(zhuǎn)速。如你從表的正湊近看看,會(huì)看見(jiàn)第三輪上的小齒從一個(gè)小敞露出來(lái)了一。我們可以表的中央套一個(gè)輪管(為它有個(gè)像農(nóng)炮 cannon 一樣的管子,所英文是 cannon pinion),輪管帶有個(gè)驅(qū)動(dòng)輪,們把它嚙合之前提到的齒輪上:當(dāng)三個(gè)輪子轉(zhuǎn),它會(huì)帶動(dòng)動(dòng)輪和輪管把分針裝在管上,我們能記錄分鐘 —— 其中所涉及到的輪都精確地定好了齒數(shù)以實(shí)現(xiàn)比秒慢 60 倍的目的。我可以從下圖到秒針和分是如何運(yùn)轉(zhuǎn)。下面的滑模擬時(shí)間的速,可以滑它來(lái)控制演時(shí)間的快慢時(shí)針要轉(zhuǎn)得分針再慢 12 倍,但我們只用再加個(gè)齒輪就能現(xiàn)它。將分輪作為中介輪管?chē)Ш希?后時(shí)針輪與針輪上的小輪嚙合:時(shí)輪松松地裝輪管上,它可以互相獨(dú)地轉(zhuǎn)動(dòng)。將針裝在時(shí)針上,我們就成了驅(qū)動(dòng)表的裝置。我加上了一個(gè)度表盤(pán),上標(biāo)記了 12 個(gè)小時(shí),它能讓我們準(zhǔn)地讀出指針指示的時(shí)間計(jì)日功能這表的計(jì)日裝由四個(gè)主要分組成 —— 定位桿簧,指示齒輪,期夾板與附上面的齒輪和印有所有能的 31 個(gè)日期的日環(huán):為了解它是如何工的,我先把關(guān)的零件隱掉。我還會(huì)掉指示齒輪蓋子,就能到下面有一小小的扭轉(zhuǎn)簧。讓我們看這些零件如何在時(shí)針的帶動(dòng)下運(yùn)的。當(dāng)時(shí)針轉(zhuǎn)動(dòng),它會(huì)動(dòng)日期夾板齒輪。另一的小齒輪會(huì)動(dòng)指示齒輪它上面的扭彈簧。這個(gè)簧會(huì)被日期上的齒絆住變彎,但在一刻,它會(huì)始推動(dòng)日期。當(dāng)日期環(huán)動(dòng)得足夠多,定位桿簧突然松開(kāi)日環(huán),并讓它到下一個(gè)位。你也許好為什么我們設(shè)計(jì)這么復(fù)的裝置。有者可能會(huì)天地想,我們需要直接讓針輪帶著日環(huán)轉(zhuǎn)起來(lái)就了,就像我之前讓分針帶著時(shí)針輪動(dòng)那樣。非抱歉,那樣導(dǎo)致表盤(pán)小顯示出的“前日期”連地轉(zhuǎn)動(dòng),這讓人很難讀究竟是哪一。你可以在圖左側(cè)看到樣的效果。右側(cè),你可看到我們剛搭建的裝置指示的日期 —— 它只會(huì)在午夜附近化。你也許經(jīng)意識(shí)到了我們這個(gè)機(jī)的計(jì)日功能不那么智能它總是把每計(jì)成 31 天,所以我必須在小月的最后一天束后把表上日期向后撥天。另外,果機(jī)械表有陣子沒(méi)有運(yùn),那它的時(shí)就會(huì)出錯(cuò)。們需要找到個(gè)給它校正期和時(shí)間的法。萬(wàn)幸的,驅(qū)動(dòng)分針時(shí)針和日期的齒輪都是接在一起的所以我們只調(diào)整其中一齒輪,就能整所有齒輪我將短暫地圖中隱藏時(shí)輪以便于說(shuō):注意看,我轉(zhuǎn)動(dòng)分針時(shí),只有輪轉(zhuǎn)動(dòng)了。這輪管緊緊地在驅(qū)動(dòng)齒輪,所以它通可以被驅(qū)動(dòng)輪帶動(dòng)。然,因?yàn)辇X輪中的其他齒只能按發(fā)條的節(jié)奏轉(zhuǎn)動(dòng)設(shè)置時(shí)間的時(shí)驅(qū)動(dòng)齒輪被其他齒輪礙而無(wú)法跟一起轉(zhuǎn),但管可以克服驅(qū)動(dòng)齒輪的擦,從而自轉(zhuǎn)起來(lái)。這我們?cè)诓挥?齒輪組的情下設(shè)置時(shí)間并且防止對(duì)密部件造成壞。安裝好針輪,我們看到轉(zhuǎn)動(dòng)分輪也會(huì)帶著整時(shí)針,而如果我們轉(zhuǎn)足夠多,也一起調(diào)整日:跟著一步下來(lái),我們機(jī)械表變得來(lái)越完善,它還有一些便之處。為調(diào)整時(shí)間以上發(fā)條,我必須轉(zhuǎn)動(dòng)機(jī)內(nèi)部的齒輪而它們一般被安全地放在表殼內(nèi)的另外,在每少于 31 天的月份,們現(xiàn)在都只通過(guò)調(diào)整時(shí)來(lái)調(diào)整日期因?yàn)檫@是目調(diào)整日期的一方式。理情況下,我應(yīng)該找到一將設(shè)置日期立于設(shè)置時(shí)的方法。為解決這些問(wèn),下一期我將給機(jī)械表上轉(zhuǎn)柄,敬期待。本文自微信公眾:中科院物所 (ID:cas-iop),作者:Ciechanowski,翻譯:牧,審校:*0

責(zé)任編輯: DaraVDO

熱點(diǎn)新聞

      <code id='094d3'></code><style id='65382'></style>
      • <acronym id='7122b'></acronym>
        <center id='69ef9'><center id='ab9c1'><tfoot id='98fc7'></tfoot></center><abbr id='c0601'><dir id='f3da2'><tfoot id='ec868'></tfoot><noframes id='25a3e'>

      • <optgroup id='459ff'><strike id='e24fe'><sup id='7fee7'></sup></strike><code id='ce76e'></code></optgroup>
          1. <b id='f9e18'><label id='3e08c'><select id='5fd68'><dt id='80b85'><span id='56936'></span></dt></select></label></b><u id='36507'></u>
            <i id='0c46f'><strike id='215e6'><tt id='f652a'><pre id='e894b'></pre></tt></strike></i>

            精彩推薦

            加載更多……

                <code id='7823c'></code><style id='54917'></style>
              • <acronym id='621dc'></acronym>
                <center id='6f025'><center id='1ad0c'><tfoot id='3b9c9'></tfoot></center><abbr id='87051'><dir id='0af4e'><tfoot id='517a3'></tfoot><noframes id='17413'>

              • <optgroup id='0672a'><strike id='2c0c9'><sup id='575f9'></sup></strike><code id='1ccba'></code></optgroup>
                  1. <b id='ee8e7'><label id='924a6'><select id='5e50f'><dt id='14d70'><span id='bd574'></span></dt></select></label></b><u id='47c0e'></u>
                    <i id='854c2'><strike id='a198e'><tt id='620d3'><pre id='6ab80'></pre></tt></strike></i>

                    兰西县| 咸丰县| 马边| 渝北区| 鹤峰县| 安远县| 云梦县| 林西县| 东丽区| 英超| 七台河市| 湖州市| 五台县| 葫芦岛市| 环江| 涟源市| 和硕县| 木里| 临沂市| 日照市| 开江县| 阜康市| 沧源| 重庆市| 穆棱市| 武冈市| 拉孜县| 霍城县| 长沙县| 敖汉旗| 赤峰市| 化州市| 湘潭市| 乐亭县| 子长县| 永顺县|