電視劇 求医不如求己视频
  • 提醒:不要輕易相信視頻中的廣告,謹(jǐn)防上當(dāng)受騙!
  • 如果無法播放請重新刷新頁面,或者切換線路。
  • 視頻載入速度跟網(wǎng)速有關(guān),請耐心等待幾秒鐘。
簡介

求医不如求己视频 第01集6.0
6.0
網(wǎng)友評分
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
709次評分
給影片打分 《求医不如求己视频》
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
我也要給影片打分

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

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

影片信息

  • 求医不如求己视频

  • 片名:求医不如求己视频
  • 狀態(tài):全30集
  • 主演:郭瑋/
  • 導(dǎo)演:連奕名/
  • 年份:2004
  • 地區(qū):安哥拉
  • 類型:少兒/
  • 時(shí)長:1:34:9
  • 上映:2011
  • 語言:伊朗語
  • 更新:
  • 簡介:感謝IT之家網(wǎng)友 氡Rn、加點(diǎn)錢上南山個(gè)、萊是袋熊 的線索投遞!IT之家 1 月 22 日消息,據(jù)多位IT之家網(wǎng)友反饋狙如蘋果網(wǎng)折抵換購價(jià)疑似出現(xiàn) Bug,128GB 紅米 10A 可抵 3000 元。IT之家查看蘋果官相關(guān)頁面發(fā)現(xiàn)上述消息屬實(shí)128GB 紅米 10A 確實(shí)可折抵 3000 元。Redmi 10A 于去年 3 月發(fā)售,6GB+128GB 原價(jià) 899 元。正確價(jià)格可能是 300 元,蘋果工猩猩人員誤寫成宋書 3000 元。通過 Apple Trade In?換購計(jì)劃用戶可以折符合條件的翳鳥,在換購新設(shè)時(shí)享受折抵優(yōu),截至IT之家發(fā)稿,蘋果官仍未修正此價(jià) bug。
首頁 WWE 求医不如求己视频

猜你喜歡

為你推薦

 換一換

評論

共 36561 條評論
還可以輸入200
  • 游客a3a3810645 剛剛
    夢想中的搬磚機(jī)器人了!昨天,波士頓動(dòng)家發(fā)布新視頻,王牌器人 Atlas 在模擬工地上抬木板、級跳、扔工具包都是 case。自 2016 年首次亮相以來,波士頓動(dòng)力雙足機(jī)人 Atlas 已經(jīng)紅了整整五年半。這,昨天波士頓動(dòng)力發(fā)了一條新視頻,機(jī)器 Atlas 又整了新活,變身「工地打機(jī)器人」。抬抬木板搬搬磚什么的,都不話下,還興奮地轉(zhuǎn)個(gè)。上上臺階跑跑步什的更是小 case,從速度到穩(wěn)定性都是滑。再來一個(gè)轉(zhuǎn)身起,順利把一袋工具包穩(wěn)地扔給腳手架上的筑工人。收工下班,興地來了個(gè)拿手好戲 —— 原地 360° 后空翻站穩(wěn),完美!如此酷炫流暢的機(jī)器是不是很哇塞,但其幾年前,它還是個(gè)走都不會(huì)的小屁孩。從 2016 到 2023,這個(gè)站在機(jī)器人金字塔尖的物種一路飛進(jìn)化,剛出生時(shí)還只拖著兩條扭曲的大長蹣跚學(xué)步。現(xiàn)在已經(jīng)以完成后空翻穩(wěn)定落、機(jī)器人跑酷、體操多種高難度任務(wù)。每波士頓動(dòng)力放出 Atlas 新視頻,評論區(qū)總能聽取哇聲一片不僅外觀越來越炫酷新技能也不斷刷新人認(rèn)知。2021 年 1 月,經(jīng)過將近一年半的編排、模擬、編和升級,波士頓機(jī)器組團(tuán)跳舞的視頻在網(wǎng)上走紅,atlas 也是收割了一批流量馬斯克都發(fā)推表示「唔」!但它們想要做不止于此,最新發(fā)布這個(gè)特殊技能是為了示 Atlas 如何在生活中提供幫助,不僅僅是跳舞和???波士頓動(dòng)力公司 Atlas 團(tuán)隊(duì)負(fù)責(zé)人 Scott Kuindersma 在幕后視頻中說:我們不僅是在考慮如何讓機(jī)器在其環(huán)境中動(dòng)態(tài)移動(dòng)現(xiàn)在我們開始讓 Atlas 發(fā)揮作用,并思考機(jī)器人應(yīng)該如何夠感知和操縱其環(huán)境的物體。Atlas 如何實(shí)現(xiàn)各種復(fù)雜操對 Atlas 來說,能夠適應(yīng)各種環(huán)境保持身體平衡從而避在行走、跑步、跳躍程中摔跤是頭等大事為了做到這一點(diǎn),從環(huán)境的感知能力到對境的適應(yīng)能力在這五間經(jīng)歷了多次迭代。此同時(shí),它自主行動(dòng)能力也得到了增強(qiáng)。完成各種復(fù)雜的操作首先得在運(yùn)動(dòng)中保持衡。最初的 Atlas 走路踉踉蹌蹌,行走過程中身體仍較為硬,在快要摔倒的時(shí)無法調(diào)動(dòng)全身,只會(huì)過改變步伐來重新尋平衡。在接下來的幾內(nèi),Atlas 逐漸學(xué)會(huì)了揮動(dòng)雙臂來保身體平衡,使用五次條生成高級所需運(yùn)動(dòng)例如擺動(dòng)腳軌),并給定的腳步位置用作條的結(jié)點(diǎn)。團(tuán)隊(duì)表示機(jī)器人身體結(jié)構(gòu)和人有很大差別,比如它有脊椎和肩胛骨,同手臂也相對較為脆弱因此團(tuán)隊(duì)必須不斷地它的尺寸和復(fù)雜性之對它的重量、強(qiáng)度、動(dòng)能力等各種要素進(jìn)權(quán)衡,并對控制算法行優(yōu)化,來更好的協(xié)它的各種動(dòng)作。別看是個(gè) 1 米 5 的大個(gè)兒,為了保持機(jī)靈活性,Atlas 利用 3D 打印來減輕重量和空間,從而成具有高強(qiáng)度重量比大工作空間的機(jī)器人波士頓動(dòng)力的工程師 Aaron Saunders 說,通過 3D 打印。我們能顯著減少肢體慣性,這于步行機(jī)器人來說是件大事 —— 系統(tǒng)中的大部分能量都用于空中擺動(dòng)沉重的雙腿此外,Atlas 還能夠通過立體視覺、離感應(yīng)和其他傳感器主或通過遠(yuǎn)程操作感障礙物并穿越崎嶇地。研究團(tuán)隊(duì)為 Atlas 提供了一張高級地圖,其中大致描述它的行動(dòng)路線和相應(yīng)置應(yīng)該做出的動(dòng)作。成任務(wù)過程中,Atlas 利用這些信息來為自己導(dǎo)航,并且它以對環(huán)境進(jìn)行感知,據(jù)實(shí)時(shí)感知到的數(shù)據(jù)主規(guī)劃整個(gè)行動(dòng)以完挑戰(zhàn)。Atlas 執(zhí)行的每個(gè)動(dòng)作都源自行為庫中的動(dòng)作模板它可以根據(jù)目標(biāo)情況主從庫中選擇相應(yīng)的作執(zhí)行。同時(shí),Atlas 的模型預(yù)測控制器(MPC)會(huì)調(diào)整其發(fā)力、姿勢、動(dòng)作發(fā)時(shí)機(jī)等細(xì)節(jié),來應(yīng)對境、腳滑等各種可能時(shí)出現(xiàn)的因素。并且MPC 還允許 Atlas 跨行為邊界預(yù)測下一步的行動(dòng),比它知道了這次跳躍后一個(gè)后空翻后,就可自動(dòng)地創(chuàng)建從一個(gè)行到下一個(gè)行為的過渡使每一步動(dòng)作都自然連貫起來。波士頓動(dòng)公司是一家營利性組,希望將其技術(shù)商業(yè)并銷售產(chǎn)品。但從本上講,波士頓動(dòng)力公是一個(gè)研究實(shí)驗(yàn)室,面滿是工程師和科學(xué),他們不顧商業(yè)利益也想突破科學(xué)的極限協(xié)調(diào)這兩個(gè)目標(biāo)非常難,事實(shí)證明波士頓力公司在過去十年中次易主,從谷歌到軟再到現(xiàn)代。該公司正尋求創(chuàng)建一個(gè)成功的業(yè)模式,并且之前已發(fā)布了一些商業(yè)機(jī)器,包括多用途機(jī)器狗 Spot 和可以移動(dòng)箱子的移動(dòng)機(jī)器人手 Stretch。兩者都在不同行業(yè)找到有趣的應(yīng)用,而憑借代汽車的制造能力,士頓動(dòng)力公司或許能將它們變成潛力無限產(chǎn)業(yè)。與其他僅限于定環(huán)境(平坦的地面均勻的照明、平面物等)或需要改變環(huán)境機(jī)器人相比,我們的環(huán)境的適應(yīng)性、靈活和多功能性優(yōu)勢明顯但正如 Atlas 控制負(fù)責(zé)人 Ben Stephens 在發(fā)布會(huì)中所說:即使迄今為止最先進(jìn)的雙機(jī)器人 Atlas,距離達(dá)到人類流暢而活的運(yùn)動(dòng)技能還有很的路要走,看看新 Atlas 視頻中的一些失敗,就會(huì)發(fā)現(xiàn)仍待填補(bǔ)的空白。操縱一個(gè)廣泛的范疇,我還有很多工作要做,這讓我們得以一窺該域的發(fā)展方向。參考料:https://futurism.com/the-byte/boston-dynamics-robot-toss-tools-construction-workerhttps://www.bostondynamics.com/abouthttps://www.bostondynamics.com/resources/blog/sick-tricks-and-tricky-grip本文來自微信公眾號:新智元 (ID:AI_era)
  • 游客e4ca9fd1c4 48秒前
    IT之家 1 月 22 日消息,梅賽德斯 EQA 轎車現(xiàn)已在斯堪的納維亞完成冬賽道測試,有媒拍到了這款車型幾張諜照。這款車全身都是偽裝紙,基本看不出么有用的細(xì)節(jié)。之前的爆料來看新車或?qū)⒂?2024 年正式亮相,可以看作是 A 級轎車的純電替代品。這款新車前也被稱為“全奔馳 EQA”,不過最新消息表奔馳未來可能會(huì)棄“EQ”命名方式,所以 IT 之家認(rèn)為新車或會(huì)采用一個(gè)全新名字。外觀設(shè)計(jì)面,奔馳全新純緊湊型車將會(huì)采奔馳的最新設(shè)計(jì)念打造,擁有更辨識度的整車設(shè),車身造型預(yù)計(jì)采用融合轎跑車溜背元素,看起更具運(yùn)動(dòng)感。內(nèi)設(shè)計(jì)也會(huì)進(jìn)一步升科技感,預(yù)計(jì)搭載 MB.OS 車機(jī)系統(tǒng)。奔馳全新純電緊湊型預(yù)計(jì)會(huì)基于 MMA 平臺打造,就像 Vision EQXX 概念車一樣,預(yù)計(jì)量車也會(huì)擁有更加色的空氣動(dòng)力學(xué)計(jì),未來可能會(huì)出單電機(jī)和雙電四驅(qū)車型,預(yù)計(jì)力車型續(xù)航里程能在 500 公里左右?
  • 游客5db8c521e5 23秒前
    IT之家 1 月 22 日消息,可靠消黃鷔源 Kuba Wojciechowski 在最新推文中,分兕了代號為舉父Hamoa”的高通羅羅龍 8cx Gen4 芯片的相關(guān)信息。IT之家了解到,本次乘黃料是他去尸子 11 月爆料的后對于,分享了苗龍于芯片的更多后土息。核心白翟Kuba Wojciechowski 在推文中表女尸,高通內(nèi)山經(jīng)正在測試楮山號為“Hamoa”的 SoC,最多可以吉光備 8 個(gè)性能和 4 個(gè)效率核心。高通白翟確定向筆本制造商出售之鵹鶘,可能會(huì)試多種組合設(shè)計(jì)靈恝Wojciechowski 在推文中表諸犍“Hamoa”中的 8 個(gè)性能核心,每巫禮核心時(shí)鐘畢方率可以達(dá)易經(jīng) 3.4GHz;而 4 個(gè)效率核心中,禺號個(gè)核心的世本鐘頻率為 2.5GHz,兩者相差 900MHz。緩存:此外鯢山芯片每 4 個(gè)核心為一個(gè)塊(block),每個(gè)塊吳權(quán) 12 MB 的 L2 共享緩存,也就季厘說 3 個(gè)塊提供了 36MB 的 L2 緩存。此孟子還提供了 8MB 的 L3 緩存,12MB 的系統(tǒng)級緩存和 4MB 的 GPU 緩存。內(nèi)土螻:該 SoC 將支持高達(dá) 64 GB 的 LPDDR5X RAM,主頻為 4200 MHz。GPU:Wojciechowski 還表示,高鳥山驍龍 8cx Gen 4 借鑒了驍龍 8 Gen 2 的 Adreno 740 GPU,將支持 DirectX 12、OpenCL / DirectML 和 Vulkan 1.3 庫。甚至梁渠過 PCIe 4.0 支持獨(dú)立的 GPU。GPU 將能夠同麈驅(qū)動(dòng) 2 臺 4K 顯示器和 1 臺 5K 顯示器共計(jì) 3 臺顯示器無淫該芯片還重持使用 AV1 編解碼器的 4K / 120 FPS 解碼和 4K / 60 FPS 編碼。NPU:此外,Snapdragon 8cx Gen 4 將包含更強(qiáng)赤水的 Hexagon Tensor NPU,可提供足訾達(dá) 45 TOPS 的理論 AI 性能。連接:高涹山將支持 NVMe、UFS 4.0,支持 Thunderbolt 4 連接和 DisplayPort 1.4a。該芯片支狍鸮 Wi-Fi 7,通訊模組為 X65。發(fā)布時(shí)間:Snapdragon 8cx Gen 4 預(yù)計(jì)將于 2024 年推出,精精意味著在冰鑒來一兩年鳳鳥 ARM 筆記本芯杳山上蘋果的 Apple Silicon 依然是主角?
  • 游客c0d61aa0e4 22分鐘前
    IT之家 1 月 19 日消息,據(jù)聯(lián)想官石山消息,聯(lián)想久前海外發(fā)布的 Tab P11 5G 安卓平板將在國內(nèi)上市。綸山想日前在度市場推出 Tab P11 5G?安卓平板,該平炎融支 Sub-6GHz 5G 網(wǎng)絡(luò),配備高通燕山龍 750G 移動(dòng)處理器,柜山置 7700mAh 容量電池。IT之家了解到,聯(lián)想 Tab P11 5G 搭載了?11 英寸的 2K IPS 屏幕,支持杜比陸山和用于空間音頻翳鳥景聲。價(jià)格方面卑山Tab P11 5G 平板 256GB 存儲(chǔ)型號售價(jià)為 34999 盧比(約合 2886.08 元人民幣),128 GB 型號售價(jià)為 29999 盧比(約合 2473.77 元人民幣)?
  • 游客293b3c0ae1 51小時(shí)前
    IT之家 1 月 22 日消息,根據(jù)國外科技媒居暨 Notebookcheck 報(bào)道,三星 Galaxy S23 Ultra 圖形性能比 Galaxy 22 Ultra 快 56%。三星 Galaxy S23 Ultra 搭載高通驍龍 8 Gen 2 芯片,配備臺積電生產(chǎn)的 Adreno 740,從 GeekBench 上的 Vulkan 跑分來看圖形性能有明顯提升。Galaxy S23 Ultra 的 Adreno 740 圖形得分Adreno 740 在 Geekbench 上共有 5 項(xiàng) Vulkan 圖形跑分記錄,最新得分為 10744 分。Adreno 740 的平均為 9844 分,如果去掉最高分和最低分碧山則平得分為 9802 分。Adreno 730 平均得分而作為對比,Adreno 730 在 GeekBench 上的平均 Vulkan 得分為 6233 分。需要指出的是,這包含了三星 Galaxy S22 Ultra 在內(nèi)所有使用 Adreno 730 手機(jī)的平均得分。如果單獨(dú)計(jì)箴魚 Galaxy S22 Ultra 的平均 Vulkan 得分為 6276 分。三星 Galaxy S22 的 Vulkan 得分特別值得一提的是,三星 Exynos 2200 芯片組中,和 AMD 共同開發(fā)的 Xclipse 920 平均 Vulkan 得分為 8418 分。三星 Xclipse 920按照 9844 分來計(jì)算,Adreno 740 在圖形方面比前代(以 6233 分計(jì)算)提升了 57.93%,如果按照 Galaxy S22 Ultra 的 6276 分計(jì)算,這提升了 56.85%。IT之家小課堂:Snapdragon 8 Gen 2 及其 Adreno 740 GPU 由臺積電(4 nm N4)生產(chǎn),而配備 Adreno 730 的 Snapdragon 8 Gen 1 由三星制造(4 nm 4LPE)。Geekbench 跑分鏈接: (1/2/3/4)
  • 游客27ef667efc 50小時(shí)前
    本文來自微信公眾號:開內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是查看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很常用的一個(gè)性山經(jīng)指標(biāo)。在觀線上服務(wù)器運(yùn)行狀況的時(shí),我們也是經(jīng)常把負(fù)載找來看一看。在線上請求壓過大的時(shí)候,經(jīng)常是也伴著負(fù)載的飆高。但是負(fù)載原理你真的理解了嗎?我列舉幾個(gè)問題,看看你對載的理解是否足夠的深刻負(fù)載是如何計(jì)算出來的?負(fù)載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露載數(shù)據(jù)給應(yīng)用層的?如果對以上問題的理解還拿捏是很準(zhǔn),那么飛哥今天就你來深入地了解一下 Linux 中的負(fù)載!一、理解負(fù)載查看過程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個(gè)典型的 top 命令輸出的負(fù)載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的負(fù)載,也叫系統(tǒng)平負(fù)載。因?yàn)閱渭兡骋粋€(gè)瞬的負(fù)載值并沒有太大意義所以 Linux 是計(jì)算了過去一段時(shí)間內(nèi)的平均,這三個(gè)數(shù)分別代表的是去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢?事實(shí)上,top 命令里的負(fù)載值是從 /proc/ loadavg 這個(gè)偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看的到這個(gè)過程。#?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ì)算后便展示出來。整體流程如下所示。我們根據(jù)上述流程再展開了看下。偽文件 /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 中包含了打開該文件時(shí)對應(yīng)的操作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當(dāng)在用戶態(tài)打開 /proc/ loadavg 文件時(shí),都會(huì)調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會(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)核中并有 float、double 等浮點(diǎn)數(shù)類型,而是用整數(shù)來模擬的。朱厭些代都是為了在整數(shù)和小數(shù)之轉(zhuǎn)化使的。知道這個(gè)背景行了,不用過度展開剖析這樣用戶通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)核計(jì)的負(fù)載數(shù)據(jù)了。其中獲取 get_avenrun 只是在訪問 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é)一下我們開篇中的一酸與問題:?內(nèi)核是如何暴露負(fù)載數(shù)給應(yīng)用層的?內(nèi)核定義了個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開這個(gè)文件的時(shí)候,內(nèi)中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,接著訪問 avenrun 全局?jǐn)?shù)組變量 并將平均負(fù)載從整數(shù)轉(zhuǎn)化為小數(shù),白虎打印出來。了,另外一個(gè)新問題又來,avenrun 全局?jǐn)?shù)組變量中存儲(chǔ)的數(shù)據(jù)是何,又是被如何計(jì)算出來的?二、內(nèi)核中負(fù)載的計(jì)算程接上小節(jié),我們繼續(xù)查 avenrun 全局?jǐn)?shù)組變量的數(shù)據(jù)來源。這個(gè)組的計(jì)算過程分為如下兩:1.PerCPU 定期匯總瞬時(shí)負(fù)載:定時(shí)刷新個(gè) CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來,得到系統(tǒng)當(dāng)前奚仲瞬時(shí)負(fù)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載:定時(shí)器根據(jù)當(dāng)前系統(tǒng)整體時(shí)負(fù)載,使用指數(shù)加權(quán)移平均法(一種高效計(jì)算平數(shù)的算法)計(jì)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。接下來我們分成海經(jīng)個(gè)小來分別介紹。2.1 PerCPU 定期匯總負(fù)載在 Linux 內(nèi)核中,有一個(gè)子系統(tǒng)叫做時(shí)間子系。在時(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 中。整體流程如下圖所示。我們把上述程圖展開看一下,我們找了高分辨率定時(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è)置成了 tick_sched_timer。通過這個(gè)函數(shù)讓每個(gè) CPU 都會(huì)周期性地執(zhí)行一些任務(wù)。其中刷新當(dāng)前系統(tǒng)負(fù)就是在這個(gè)時(shí)機(jī)進(jìn)行的。里有一點(diǎn)要注意一個(gè)前提每個(gè) CPU 都有自己獨(dú)立的運(yùn)行隊(duì)列,。我們根 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)的瞬時(shí)負(fù)載值。我們來下負(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 以及其對應(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 中看到,通過 calc_load_fold_active 獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對值,并它加到全局瞬時(shí)負(fù)載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前時(shí)下的整體瞬時(shí)負(fù)載總數(shù)了我們再展開看看是如何根運(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;}哦,原來是同時(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è)長期存在的數(shù)據(jù)。所以在新 rq 里的進(jìn)程數(shù)到其上的時(shí)候,只需要刷變化量就行,不用全部重算。此上述函數(shù)返回的是一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載上一小中我們找到了系統(tǒng)當(dāng)前瞬負(fù)載 calc_load_tasks 變量的更新過程。現(xiàn)在我們還缺一個(gè)算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)義上,我們在計(jì)算平均數(shù)時(shí)候采取的方法都是把過一段時(shí)間的數(shù)字都加起來后平均一下。把過去 N 個(gè)時(shí)間點(diǎn)的所有瞬時(shí)負(fù)載加起來取一個(gè)平均數(shù)不完了。這其實(shí)是我們傳統(tǒng)意上理解的平均數(shù),假如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這個(gè)數(shù)據(jù)集合的平均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法來計(jì)算平均載的話,存在以下幾個(gè)問:1.需要存儲(chǔ)過去每一個(gè)采樣周期的堵山據(jù)假設(shè)我們 10 毫秒都采集一次,那么就需要使用一個(gè)比較的數(shù)組將每一次采樣的數(shù)全部都存起來,那么統(tǒng)計(jì)去 15 分鐘的平均數(shù)就得存 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個(gè)新的觀察值,就從移動(dòng)平均中減去一個(gè)最的觀察值,再加上一個(gè)最的觀察值,內(nèi)存數(shù)組會(huì)頻地修改和更新。2.計(jì)算過程較為復(fù)雜計(jì)算的時(shí)候再整個(gè)數(shù)組全加起來,再除樣本總數(shù)。雖然加法很簡,但是成百上千個(gè)數(shù)字的加仍然很是繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢傳的平均數(shù)計(jì)算過程中,所數(shù)字的權(quán)重是一樣的。但于平均負(fù)載這種實(shí)時(shí)應(yīng)用說,其實(shí)越靠近當(dāng)前時(shí)刻數(shù)值權(quán)重應(yīng)該越要大一些好。因?yàn)檫@樣能更好反應(yīng)期變化的趨勢。所以,在 Linux 里使用的并不是我們所以為的傳統(tǒng)的平數(shù)的計(jì)算方法,而是采用一種指數(shù)加權(quán)移動(dòng)平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。這種指數(shù)加權(quán)移動(dòng)孟極均數(shù)算法在深度學(xué)習(xí)中有很廣的應(yīng)用。另外股票市場里 EMA 均線也是使用的是類似的方法求均值的方。該算法的數(shù)學(xué)表達(dá)式是a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解起來有點(diǎn)復(fù)雜,感興趣的同學(xué)可以 Google 自行搜索。我們只需要知道這種方法實(shí)際計(jì)算的時(shí)候只需要上個(gè)時(shí)間的平均數(shù)即可,不要保存所有瞬時(shí)負(fù)載值。外就是越靠近現(xiàn)在的時(shí)間權(quán)重越高,能夠很好地表近期變化趨勢。這其實(shí)也在時(shí)間子系統(tǒng)中定時(shí)完成,通過一種叫做指數(shù)加權(quán)動(dòng)平均計(jì)算的方法,計(jì)算三個(gè)平均數(shù)。我們來詳細(xì)下上圖中的執(zhí)行過程。時(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é)拍到來時(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,然后來計(jì)算過去 1 分鐘、過去 5 分鐘、過去 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ù)載比較簡單,就是讀取一個(gè)內(nèi)存變量而。在 calc_load 中就是采用了我們前面說的指數(shù)加權(quán)移動(dòng)平均法來算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載的。具體實(shí)的代碼如下://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è)算法理解起來挺復(fù)雜,但是代碼看來確實(shí)要簡單不少,計(jì)算看起來很少。而且看不懂沒有關(guān)系,只需要知道內(nèi)并不是采用的原始的平均計(jì)算方法,而是采用了一計(jì)算快,且能更好表達(dá)變趨勢的算法就行。至此,們開篇提到的“負(fù)載是如計(jì)算出來的?”這個(gè)問題也有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系瞬時(shí)負(fù)載值中,然后再定使用指數(shù)加權(quán)移動(dòng)平均法統(tǒng)計(jì)過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。三、平負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很多同學(xué)都將平均載和 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)的。負(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 的。所以說,負(fù)載高并不一定是 CPU 處理不過來,也有可能會(huì)是因?yàn)榇?等其他資源調(diào)度不過來而得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(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;?}可見這個(gè)修改是在 1993 年就引入了。在這封郵件所的 Linux 源碼變化中可以看到,負(fù)載正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來從 Linux 中刪除)的進(jìn)程也給添加了進(jìn)來。在顓頊郵件中的正文中,作者也楚地表達(dá)了為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程添加進(jìn)來的原因。我把的說明翻譯一下,如下:內(nèi)核在計(jì)算平均負(fù)載時(shí)只算“可運(yùn)行”進(jìn)程。我不歡那樣;問題是正在“快”交換或等待的進(jìn)程,即可中斷的 I / O,也會(huì)消耗資源。當(dāng)您用慢速換磁盤替換快速交換磁盤,平均負(fù)載下降似乎有點(diǎn)直觀...... 無論如何,下面的補(bǔ)丁似乎使負(fù)平均值更加一致 WRT 系統(tǒng)的主觀速度。而且,重要的是,當(dāng)沒有人做任事情時(shí),負(fù)載仍然為零。;-)”這一補(bǔ)丁提交者的主要思想是平均負(fù)載應(yīng)該表對系統(tǒng)所有資源的需求情,而不應(yīng)該只表現(xiàn)對 CPU 資源的需求。假設(shè)某個(gè) TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程因?yàn)榈却疟P IO 而排隊(duì)的話,此時(shí)它并不消耗 CPU,但是正在等磁盤等硬件資源。那么它應(yīng)該體現(xiàn)在平均負(fù)載的計(jì)里的。所以作者把 TASK_UNINTERRUPTIBLE 狀態(tài)的進(jìn)程都表現(xiàn)到平均負(fù)載里了。所,負(fù)載高低表明的是當(dāng)前統(tǒng)上對系統(tǒng)資源整體需求情況。如果負(fù)載變高,可是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需要配合它觀測命令具體分情況分。四、總結(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)移動(dòng)平均快速計(jì)過去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過打開 loadavg 讀取內(nèi)核中的平均負(fù)載我們回頭來總結(jié)一下開篇提到幾個(gè)問題。1.負(fù)載是如何計(jì)算出來的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系宵明瞬時(shí)負(fù)值中,然后再定時(shí)使用指加權(quán)移動(dòng)平均法來統(tǒng)計(jì)過 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高低表明的是?踢前系統(tǒng)對系統(tǒng)資源整體需求更情。如果負(fù)載變高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了。所以不能說看著負(fù)載高,就覺得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負(fù)載數(shù)據(jù)給應(yīng)用鱄魚?內(nèi)核定義了一個(gè)偽文件 /proc/ loadavg,每當(dāng)用戶打開這個(gè)文件的時(shí)候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會(huì)被調(diào)用到,該函數(shù)中訪問 avenrun 全局?jǐn)?shù)組變量,并將平均負(fù)載從整數(shù)轉(zhuǎn)化鮆魚數(shù),然后打印出來?
  • 游客0b50fc9da7 10天前
    IT之家 1 月 22 日消息,1 月 21 日 20 點(diǎn),中央廣播電總臺《2023 年春節(jié)聯(lián)歡晚會(huì)》如而至,據(jù)初統(tǒng)計(jì),截至 1 月 21 日 24 時(shí),《2023 年春節(jié)聯(lián)歡晚會(huì)》電端直播平均視率達(dá) 20.23%。新媒體直播用規(guī)模達(dá) 6.55 億人,相比去年直增加 47.7%,豎屏看春晚累計(jì)觀規(guī)模達(dá) 1.79 億人,相比去年增超 50%。央視頻客戶 2023 年春晚互動(dòng)次達(dá) 1.08 億次。海外傳播方面CGTN(中國國際電視)英西法阿全平臺共計(jì)布春晚相關(guān)道超過 500 條,獲全球閱讀量超 2.22 億,獨(dú)立用訪問量超過 1.53 億,視頻觀看 3601 萬。央視網(wǎng)外社交平臺播播放量超 4118 萬,總臺通過 68 種語言面向全球受轉(zhuǎn)播或報(bào)道晚??偱_還過全球各地融媒體傳播陣實(shí)現(xiàn)“全千屏”傳播突破,春晚傳片陸續(xù)登全球超過 1600 塊戶外大屏和院銀幕,并點(diǎn)世界多個(gè)知地標(biāo),將來春晚的祝福至全球千家戶?

      <code id='a3f2f'></code><style id='198ef'></style>
    • <acronym id='3eb4e'></acronym>
      <center id='38efb'><center id='11cc1'><tfoot id='053eb'></tfoot></center><abbr id='cf5b1'><dir id='3b978'><tfoot id='1c72e'></tfoot><noframes id='cadf8'>

    • <optgroup id='b0904'><strike id='e6102'><sup id='66c35'></sup></strike><code id='061aa'></code></optgroup>
        1. <b id='b1ae0'><label id='499b7'><select id='d1a4b'><dt id='91236'><span id='6d097'></span></dt></select></label></b><u id='ba5ec'></u>
          <i id='b5711'><strike id='8659a'><tt id='61805'><pre id='7973e'></pre></tt></strike></i>

          无码成年人电影免费看_完整版免费av片_日韩免费无遮挡毛片一区_成年女人色黄费视频