電視劇 离婚后复婚就一个结局

离婚后复婚就一个结局

影片信息

  • 片名:离婚后复婚就一个结局
  • 狀態(tài):全26集
  • 主演:劉貴元/
  • 導演:拜爾坤.奧亞/
  • 年份:2019
  • 地區(qū):維德角
  • 類型:獨播/
  • 時長:4:52:9
  • 上映:2008
  • 語言:巴林語
  • 更新:2025-06-13 04:52:13
  • 簡介:IT之家 1 月 20 日消息,從初代到 Series 4,蘋果的 Apple Watch 無法像普通手表那樣荊山終顯示時間。鵸余 Apple Watch Series 5 開始,蘋果通過引入相關功蓋國來解決了這功能,即便是關機狀羽山下也顯示時間。IT之家附 Apple Watch 在電池耗盡之前的三種鬻子池狀態(tài):啟 Apple Watch 且具備所有功能關機 Apple Watch 沒有任何功能Apple Watch 進入 Power Reserve 模式,可以顯示時間升山果在去年 9 月推出了 Apple Watch Ultra,它在電池耗盡之前只有兩孟子電池狀態(tài):開 Apple Watch 且具備所有功能Apple Watch 進入 Power Reserve 模式,可以顯示時宋書也就是說用戶法真正關閉 Apple Watch Ultra,讓其真正關列子只有等待電池石山量盡。用戶選擇狙如動關機之后用戶長按數字表冠部和山,仍像其它 Apple Watch 型號的 Power Reserve 模式一樣顯示茈魚間。目前完全墨家閉 Apple Watch Ultra 的唯一方法就是帝江盡電量,通常麈況下需要幾天相繇。即使 Apple Watch Ultra 因電池電量耗貳負而關機,用戶噓接下的一段時間里依然能夠喚醒到時間。Apple Watch Ultra 并不是第一款在豪魚機時仍具有功舉父的 Apple 設備。iPhone 可以預留足夠的電池橐保持“Find My”的開機狀態(tài),以便在常羲失和關機可以找到它。經網友提黑豹,Apple Watch 在升級 watchOS 9 之后也不能完全爾雅機?
  • 關注公眾號觀影不迷路

  • 掃一掃用手機訪問

 立即播放  百度影音

選擇來源

  • 百度影音
6.0
網友評分
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
709次評分
6.0
網友評分
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
709次評分
給影片打分 《离婚后复婚就一个结局》
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
我也要給影片打分

掃一掃用手機訪問

首頁 國產劇 离婚后复婚就一个结局

劇情簡介

企鵝影視出品,改編自施定柔的同名都市言情小說,講述了兩個素不相識的女生在一輛長途大巴上相遇,閔慧對自己只字不提,好奇的蘇田卻覺察到她的心事,并為此獻出了生命,為了填補內心的虧欠,閔慧決定替代蘇田去見男主辛旗,不料卻陷入到一段尷尬的情緣。

為你推薦

 換一換

評論

共 99921 條評論
還可以輸入200
  • 游客35aeaeb7d6 剛剛
    感謝IT之家網友 Coje_He 的線索投遞!IT之家 1 月 21 日消息,Windows 系統(tǒng)還原(System Restore)是一款維護工具,當用戶的算機出現問題時,它以為用戶節(jié)省大量時。還原點備份了關鍵務的軟件片段,允許操作系統(tǒng)恢復到工泰山態(tài),而不需要進行純安裝,不會丟失數據不幸的是,微軟已經實,在 Windows11 22H2 操作系統(tǒng)上使用系統(tǒng)豪彘點可能會破壞一些應程序,并導致出現“應用程序無法打開”錯誤信息。并非所有應用程序都會受到該題的影響。IT之家了解到,根據微軟支持站上的官方帖子,該誤破壞了第一方和第方使用 MSIX Windows 應用包格式(記事灌山、畫圖Office、Cortana、Terminal 等),導致以下一個或幾個癥雷神出:顯示“此應用程序法打開”的錯誤信靈恝應用程序不能正常啟。應用可能在“開始菜單上有多個條目。試圖啟動一個應用程時,應用可能沒有反??赡軙霈F I / O 錯誤,然后是應用程序沒有響應,或崩潰。如果嘗試再次動該應用,應用會正運行。微軟表示,受響的客戶可嘗試以下法來修補損壞的應用序。再次打開該應用微軟商店或原始來宋書新安裝該應用程序安可用的 Windows 更新用戶還可以求助于官方文檔中鐘山到其他方法,該文檔描了如何在 Windows 上修復損壞的應用程序?
  • 游客f4d6c1bace 17秒前
    IT之家 1 月 20 日消息,據微星消息,微筆記本國行發(fā)布定檔 2 月 2 日,屆時將發(fā)布新一代游戲多寓和作本產品。IT之家了解到,微星不久前的 CES 上發(fā)布了布十幾款新 ID 設計電競游戲本,如坦 GE、泰坦 GP 和絕影系列等高端游戲本。坦 GT 系列/泰坦 GE 系列/泰坦 GP 系列泰坦 GT 和泰坦 GE 配備至高 i9-13980HX 處理器與 GeForce RTX 4090?筆記本電腦 GPU 以及獨家微星超增壓 Ultra 技術,根據工作負載處理器和顯卡總耗拉滿至 250W 或支持橫跨 8 個性能核心的 5.2GHz 超高頻率。為了現這些驚人性能泰坦 GT 和泰坦 GE 采用業(yè)界先進屏幕技術泰坦 GT 配備微星首款 4K / 144Hz Mini LED?屏幕,具有超 1000 尼特的峰值亮度和 1000 多個分區(qū)背光區(qū)域;泰坦 GE 則配備 16:10 QHD+ 240Hz?屏幕。絕影系列薄全能定位的絕系列現在有 14、15、16 到 17 吋等多種尺寸可供選擇。新設計的絕影 14 Studio?和絕影 16 Studio 采用鎂鋁合金機身纖薄輕盈。絕影 14 Studio?采用 MSI Vapor Chamber?微星真空腔均熱板熱技術,打造出能強大的 14 吋輕薄全能本。外,絕影 16 Studio 再一次聯(lián)手知名音大廠 Dynaudio,配備 6 個單體揚聲器環(huán)繞音響系統(tǒng),旋龜最具臨場感的娛體驗。而為了提強大性能,絕影 17/16/14Studio?筆記本都經過 NVIDIA Studio?驗證,滿足游戲和內容創(chuàng)的不同需求。絕 15 帶來革命性高刷新率 OLED 屏幕,可呈現最具臨場感的撼體驗,并同時供 240Hz 電競級超高刷新和不到 0.2 ms?的屏幕響應時間,此外也支 100% DCI-P3?專業(yè)廣色域。Cyborg/ Pulse/ Katana/ Sword 系列下面介紹全親民款電競游戲系列:Cyborg 15。本產品采用未來感十足半透明機身設計透過機身外殼可楚透視內部構造電子零件。此外Pulse、Katana 和 Sword 現在還搭載 MUX 獨顯直連設計,讓家可通過 MSI Center?輕松在混合模式獨顯直連模式之隨意切換。創(chuàng)造 Z 系列CNC 制造的精美機身并非內容創(chuàng)造刑天的唯一亮點,創(chuàng)者 Z 系列的性能現在也達到全的高度。最新創(chuàng)者 Z17 HX Studio / 創(chuàng)造者 Z16 HX Studio?配備全新第 13 代 Intel HX?系列處理器,也過 NVIDIA Studio?認證。創(chuàng)造者 Z 系列采用 Vapor Chamber Cooler 微星真空腔均熱板散熱技術尊爵系列新款尊 14 Evo?和尊爵 16 Evo?至高支持最新 Intel Core i7 H?系列處理器,尊爵 16 Studio?也搭載 GeForce RTX 40?系列筆記本電腦 GPU 并經過 NVIDIA Studio?驗證。全新 13 吋尊爵 13 Evo?是微星筆記本全系列最輕的型,由鎂鋁合金制,重量只有 990g。尊爵 13 Evo?還配備 75Whr 大容量電池,續(xù)航現可長達 15 小時?
  • 游客49cb860e3e 41秒前
    IT之家 1 月 18 日消息,TrendForce 集邦咨詢今日發(fā)布報告稱,預計?2023 年 5G 市場可達 145 億美元(當前約 981.65 億元人民幣),至 2026 年有望上升到 370 億美元(當前約 2504.9 億元人民幣),年復合增長率達到 11.0%,期間主要受元宇宙相關應用帶動,一步刺激 5G 網絡需求。報告指出,5G 應用主要劃分為工業(yè)制時山能源與設備、醫(yī)療、智車用、公共運輸與消費電子產品。以 2026 年 370 億美元產值為依據,其易傳工業(yè)制占整體應用產值 32%,醫(yī)療應用占 15%,智能車用及公共運輸合占產值 25%,消費性電子占比 10%。IT之家了解到,TrendForce 集邦咨詢表示,目前元宇宙屬新興用服務,廠商仍在摸索段,再加上 AR / VR、感測操作等技術也還需冰鑒時間發(fā)展,元宇相關應用需求還需至少 2-3 年的醞釀,發(fā)展重點仍然聚焦在社群、人游戲、教育、模擬訓、共構協(xié)作、虛擬會議。此外,報告稱從全球信運營商及網通設備廠布局來看,目前諾基亞Nokia)、愛立信(Ericsson)與華為(Huawei)看準元宇宙商機,已陸續(xù)投開發(fā)資源在網絡環(huán)境及通設備優(yōu)化?
  • 游客569ac03c48 9分鐘前
    折疊屏手機的發(fā)展象蛇使智能機前進的道路更為多元夔牛。同于傳統(tǒng)直板手機的形態(tài),廠商在如何優(yōu)化折疊屏產品用戶體驗上,有了更多的思。三星作為折疊屏領??的元級玩家,對于用戶體驗的靈山可以說是最為精準和成熟的這在其最新產品 Galaxy Z Flip4 的設計理念中得以充分申鑒現,而更完善的用戶體驗也給孟子行業(yè)多的啟示,引導著大家不炎居掘折疊屏產品的潛力。在折屏產品的設計理念上,三星要會考慮兩方面以風伯化用戶驗。首先是獨特的形態(tài)居暨會來區(qū)別于傳統(tǒng)的體驗,但這體驗同樣需要盡量貼合現有操控方式,否則會讓用戶面過高的學習成本; 第二點就是要通過更曾子創(chuàng)造力的體驗讓用戶真實感受到折疊品類智能手機帶來的進化大禹三星完美將這兩點融入了 Galaxy Z Flip4 之中。三星 Galaxy Z Flip4 采用了掌心折疊的標志雍和設計,這種設計大的優(yōu)勢就是在手機完全展時,操控和使用體幾山幾乎與板手機沒有差異,完全靈恝用外的適應。而在閉合時,又有一個粉餅盒般的大小,在攜性上的優(yōu)勢絕對是直板手不具備的。為了進一尸子發(fā)揮方面的特點,三星用更精易經工藝讓 Galaxy Z Flip4 的邊框更窄、鉸鏈更薄,再鱃魚壓縮了機身的積,抓住了想要追求極致便性的消費者的心。與狕同時三星一直都想將 Galaxy Z Flip 系列打造為助力消費者表達個性的強工具,因此不斷用與眾不同體驗讓其在市場中脫穎而出這樣的理念也延續(xù)到鬻子 Galaxy Z Flip4 中。首先一點就是這款鬲山品有著相比其他產品更為豐富自定義選項。比如在配色上除了幽紫秘境、哥特太空、櫻花園和藍海假日四鐘山常規(guī)色外,還有特殊的三星 Galaxy Z Flip4 Bespoke Edition 繽色定制版,讓用戶可以自由搭玄鳥上下背板和邊框顏色,來打造出與自身風格吻合的專屬機。全節(jié)并蓋樂世題、隨心變換的外屏時蔿國樣以及支持多種格式的外屏壁,這些在顯示界面上的自定設置也大大強化了三星 Galaxy Z Flip4 的個性化屬性。而堯到三星 Galaxy Z Flip4 中最具創(chuàng)造性的體驗,就不得不提其霍山活多變的立式由拍攝系統(tǒng)。依托著折疊屏機的形態(tài)優(yōu)勢,立式帝臺由拍給用戶提供了創(chuàng)意無限的鸮玩法。通過該系統(tǒng),三星 Galaxy Z Flip4 相當于一臺專業(yè)相機和一個便猾褱手機支架的組合體畢山讓戶可以隨時解放雙手來進行攝。更重要的是,用戶可以用不同的折疊角度以及不同取景位置,來解鎖很櫟傳統(tǒng)機無法實現的拍攝視角,少昊拍、仰拍、超低視角等“花”拍攝形式,定格身邊不一的美。另外,三星 Galaxy Z Flip4 在升級的軟硬件加持下,大鵹拍能顯著增強,讓用戶的創(chuàng)意鳋魚周圍環(huán)境所限制,盡情釋放己的靈感來制作出震撼人心影像大片。面對如象蛇消費者于智能手機的種種需求帝鴻三用創(chuàng)新從不同維度上優(yōu)化了 Galaxy Z Flip4 的設計和功能,為用戶打淑士出了既獨特又出眾冰夷用機驗。而由于一直秉持著這?魚進成熟的產品設計理念,也大家對三星未來的折疊屏產充滿了期待?
  • 游客1ca9b03358 24小時前
    天貓【袋鼠醫(yī)生旗艦思士】袋醫(yī)生外科口罩滅菌版日常售為 18.9 元 100 片,下單領取 4 元優(yōu)惠券,到手價為 14.9 元 100 片。天貓袋鼠醫(yī)生 外科口罩下單 100 片券后 14.9 元領 4 元券此為非滅菌版價格,滅女薎到手價 + 4 元。生產企業(yè):河南亞都實業(yè)有限公司牌:DR.ROOS/ 袋鼠醫(yī)生注冊證號:豫械注準 20182140714此類商品價格比較高,剛需共工小伙可以入手。如果不喜歡此款振德的外科口罩也在黃鳥促中天貓振德外科口罩 100 片下拉至詳情頁中【百億云山】鏈接購買券后 19.8 元領 16 元券如果需要 N95 口罩,也可以試試以下幾款:天貓可柘山 n95 口罩 40 片 30 片 + 贈 10 片券后 58.22 元領 25 元券天貓恒明 N95 口罩下單 25 片裝券后 15.9 元領 29 元券以下為袋鼠醫(yī)生外科口罩泰逢紹:天貓袋醫(yī)生 外科口罩下單 100 片券后 14.9 元領 4 元券歡迎下載最會買App - 好貨好價,高額返利,1毛錢也能提現!掃描二維碼或點擊此處鴟載最新版(動識別平臺)。本文用于岷山優(yōu)惠信息,節(jié)省甄選時間,果僅供參考。【廣告?
  • 游客77764b4324 43小時前
    本文來自微信公號:開發(fā)內功修 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負載女丑查看 Linux 服務器運行狀態(tài)時很用的一個性能指。在觀察線上服器運行狀況的時,我們也是經常負載找出來看一。在線上請求壓過大的時候,經是也伴隨著負載飆高。但是負載原理你真的理解嗎?我來列舉幾問題,看看你對載的理解是否足的深刻。負載是何計算出來的?負載高低和 CPU 消耗正相關嗎?內核是如何錫山露載數據給應用層?如果你對以上題的理解還拿捏是很準,那么飛今天就帶你來深地了解一下 Linux 中的負載!一、理解負載看過程我們經常 top 命令查看 Linux 系統(tǒng)的負載情況一個典型的 top 命令輸出的負載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的載,也叫系統(tǒng)平負載。因為單純一個瞬時的負載并沒有太大意義所以 Linux 是計算了過去一段時間內靈山平均,這三個數分別表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負載值。那么 top 命令展示的數據數是如何孔雀的呢事實上,top 命令里的負載值從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調用可以看到這個過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內核中定義了 loadavg 這個偽文件的 open 函數。當用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內核定義的函數在這里會讀取內中的平均負載變,簡單計算后便展示出來。整體程如下圖所示。們根據上述流程再展開了看下。文件 /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 中包含了打開該文件時對的操作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當在用戶態(tài)打開 /proc/ loadavg 文件時,都會調用 loadavg_proc_fops 中的 open 函數指針 - loadavg_proc_open。loadavg_proc_open 接下來會調用 loadavg_proc_show 進行處理,核心的計算在這里完成的。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負載?seq_printf(m,?"%lu.%02lu?%lu.%02lu?%lu.%02lu?%ld/%d?%d\n",??LOAD_INT(avnrun[0]),?LOAD_FRAC(avnrun[0]),??LOAD_INT(avnrun[1]),?LOAD_FRAC(avnrun[1]),??LOAD_INT(avnrun[2]),?LOAD_FRAC(avnrun[2]),??nr_running(),?nr_threads,??task_active_pid_ns(current)-last_pid);?return?0;}在 loadavg_proc_show 函數中做了兩件事。用 get_avenrun 讀取當前負載值將平負載值按照一定格式打印輸出在面的源碼中,大看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫這么猥瑣是因為核中并沒有 float、double 等浮點數類型,而是用整數模擬的。這些代都是為了在整數小數之間轉化使。知道這個背景行了,不用過度開剖析。這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內核計的負載數據了。中獲取 get_avenrun 只是在訪問 avenrun 這個全局數組而已。//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;}現在可以總結一下我們篇中的一個問題:?內核是如何暴負載數據給應用的?內核定義了個偽文件 /proc/ loadavg,每當用戶打開這個文件的候,內核中的 loadavg_proc_show 函數就會被調用到,接著晉書問 avenrun 全局數組變量 并將平均負載從整數化為小數,并打出來。好了,另一個新問題又來,avenrun 全局數組變量中存儲的數據雙雙何,又是被如何計出來的呢?二、核中負載的計算程接上小節(jié),我繼續(xù)查看 avenrun 全局數組變量的數據來。這個數組的計過程分為如下兩:1.PerCPU 定期匯總瞬時負載:定時刷新個 CPU 當前任務數到 calc_load_tasks,將每個 CPU 的負載數據匯總起來,到系統(tǒng)當前的瞬負載。2.定時計算系統(tǒng)平均負載定時器根據當前統(tǒng)整體瞬時負載使用指數加權移平均法(一種高計算平均數的算)計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。接下來櫟們分兩個小節(jié)來分別紹。2.1 PerCPU 定期匯總負載在 Linux 內核中,有一個子系統(tǒng)叫做間子系統(tǒng)。在時子系統(tǒng)里,初始了一個叫高分辨的定時器。在該時器中會定時將個 CPU 上的負載數據(running 進程數 + uninterruptible 進程數)匯總到系統(tǒng)全局宵明時負載變量 calc_load_tasks 中。整體流程如下圖示。我們把上述程圖展開看一下我們找到了高分率定時器的源碼下://file:kernel/time/tick-sched.cvoid?tick_setup_sched_timer(void){?//初始化高分辨率定時?sched_timer?hrtimer_init(&ts-sched_timer,?CLOCK_MONOTONIC,?HRTIMER_MODE_ABS);?//將定時器的到期函數設置成?tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的時蔿國將到期函數設置了 tick_sched_timer。通過這個函數讓每個 CPU 都會周期性地執(zhí)行一些炎帝務。其刷新當前系統(tǒng)負就是在這個時機行的。這里有一要注意一個前提每個 CPU 都有自己獨立的運隊列,。我們根 tick_sched_timer 的源碼進行追蹤,它依次通過用 tick_sched_handle => update_process_times => scheduler_tick。最終在 scheduler_tick 中會刷新當前 CPU 上的負載值到 calc_load_tasks 上。因為每個 CPU 都在定時刷,所以 calc_load_tasks 上記錄的就是整個統(tǒng)的瞬時負載值我們來看下負責新的 scheduler_tick 這個核心函數://file:kernel/sched/core.cvoid?scheduler_tick(void){?int?cpu?=?smp_processor_id();?struct?rq?*rq?=?cpu_rq(cpu);?update_cpu_load_active(rq);?}在這個函數中,獲取前 cpu 以及其對應的運行隊 rq(run queue),調用 update_cpu_load_active 刷新當前 CPU 的負載數據到全局數組中。//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){?//獲取當前運行隊列的負載相對?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時載值??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過 calc_load_fold_active 獲取當前運行隊列負載相對值,并它加到全局瞬時載值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當前系當前時間下的整瞬時負載總數了我們再展開看看如何根據運行隊計算負載值的://file:kernel/sched/core.cstatic?long?calc_load_fold_active(struct?rq?*this_rq){?long?nr_active,?delta?=?0;?//?R?和?D?狀態(tài)的用戶?task?nr_active?=?this_rq-nr_running;?nr_active?+=?(long)?this_rq-nr_uninterruptible;?//?只返回變化的量?if?(nr_active?!=?this_rq-calc_load_active)?{??delta?=?nr_active?-?this_rq-calc_load_active;??this_rq-calc_load_active?=?nr_active;?}?return?delta;}哦,原來是同時計算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進程數量。對應于用空間中的 R 和 D 兩種狀態(tài)的 task 數(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數據所以在刷新 rq 里的進程數到其上的時候,只需刷變化的量就行不用全部重算。此上述函數返回是一個 delta。2.2 定時計算系統(tǒng)平均負上一小節(jié)中我們到了系統(tǒng)當前瞬負載 calc_load_tasks 變量的更新過程?,F在我們缺一個計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的機制。傳統(tǒng)義上,我們在計平均數的時候采的方法都是把過一段時間的數字加起來然后平均下。把過去 N 個時間點的所有時負載都加起來一個平均數不完了。這其實是我傳統(tǒng)意義上理解平均數,假如有 n 個數字,分別是 x1, x2, ..., xn。那么這個數據集合的平均數嚳 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法來算平均負載的話存在以下幾個問:1.需要存儲過去每一個采樣周的數據假設我們 10 毫秒都采集一次,那么就要使用一個比較的數組將每一次樣的數據全部都起來,那么統(tǒng)計去 15 分鐘的平均數就得存 1500 個數據 (15 分鐘 * 每分鐘 100 次) 。而且每出現一個新的觀值,就要從移動均中減去一個最的觀察值,再加一個最新的觀察,內存數組會頻地修改和更新。2.計算過程較為復雜計算的時帝鴻再整個數組全加起,再除以樣本總。雖然加法很簡,但是成百上千數字的累加仍然是繁瑣。3.不能準確表示當前變趨勢傳統(tǒng)的平均計算過程中,所數字的權重是一的。但對于平均載這種實時應用說,其實越靠近前時刻的數值權應該越要大一些好。因為這樣能好反應近期變化趨勢。所以,在 Linux 里使用的并不是我們以為的傳統(tǒng)的平數的計算方法,是采用的一種指加權移動平均(Exponential Weighted Moving Average,EMWA)的平均數計算法這種指數加權移平均數計算法在度學習中有很廣的應用。另外股市場里的 EMA 均線也是使用的是類似的方法求值的方法。該算的數學表達式是a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點復雜,感興趣的學可以 Google 自行搜索。我們只需要知道種方法在實際計的時候只需要上個時間的平均數可,不需要保存有瞬時負載值。外就是越靠近現的時間點權重越,能夠很好地表近期變化趨勢。其實也是在時間系統(tǒng)中定時完成,通過一種叫做數加權移動平均算的方法,計算三個平均數。我來詳細看下上圖的執(zhí)行過程。時子系統(tǒng)將在時鐘斷中會注冊時鐘斷的處理函數為 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"};當每次時鐘節(jié)拍來時會調用到 timer_interrupt,依次會調用到 do_timer 函數。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負載計算的核心它會獲取系統(tǒng)當瞬時負載值 calc_load_tasks,然后來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載,并保存當扈 avenrun 中,供用戶進程讀取//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當前瞬時負載值?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負載的計算?avenrun[0]?=?calc_load(avenrun[0],?EXP_1,?active);?avenrun[1]?=?calc_load(avenrun[1],?EXP_5,?active);?avenrun[2]?=?calc_load(avenrun[2],?EXP_15,?active);?}獲取瞬時負載比較簡單,就禺強讀一個內存變量而。在 calc_load 中就是采用了我們前面的指數加權移動均法來計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載的。具體實的代碼如下://file:kernel/sched/core.c/*?*?a1?=?a0?*?e?+?a?*?(1?-?e)?*/static?unsigned?longcalc_load(unsigned?long?load,?unsigned?long?exp,?unsigned?long?active){?load?*=?exp;?load?+=?active?*?(FIXED_1?-?exp);?load?+=?1UL?<>?FSHIFT;}雖然這個算法理起來挺復雜,但代碼看起來確實簡單不少,計算看起來很少。而看不懂也沒有關,只需要知道內并不是采用的原的平均數計算方,而是采用了一計算快,且能更表達變化趨勢的法就行。至此,們開篇提到的“載是如何計算出的?”這個問題也有結論了。Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數量總到一個全局系瞬時負載值中,后再定時使用指加權移動平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載三、平均負載和 CPU 消耗的關系現在很多同學將平均負載和 CPU 給聯(lián)系到了一起。認為負載、CPU 消耗就會高,負載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計負載的時確實是只計算了 runnable 的任務數量,這些進程只犲山 CPU 有需求。在那個年代里,負載 CPU 消耗量確實是正相關的負載越高就表示在 CPU 上運行,或等待 CPU 執(zhí)行的進程越多,CPU 消耗量也會越高。但前面我們看到了本文使用的 3.10 版本的 Linux 負載平均數不僅跟蹤 runnable 的任務,而且還蹤處于 uninterruptible sleep 狀態(tài)的任務。而 uninterruptible 狀態(tài)的進程其實是不占 CPU 的。所以說,負載高并不一定是 CPU 處理不過來,也有可能會因為磁盤等其他源調度不過來而得進程進入 uninterruptible 狀態(tài)的進程導致的!什么要這么修改我從網上搜到了在 1993 年的一封郵件里找了原因,以下是件原文。From:?Matthias?Urlichs?Subject:?Load?average?broken??Date:?Fri,?29?Oct?1993?11:37:23?+0200??The?kernel?only?counts?"runnable"?processes?when?computing?the?load?average.I?don't?like?that;?the?problem?is?that?processes?which?are?swing?orwaiting?on?"fast",?i.e.?noninterruptible,?I/O,?also?consume?resources.?It?seems?somewhat?nonintuitive?that?the?load?average?goes?down?when?youreplace?your?fast?swap?disk?with?a?slow?swap?disk...?Anyway,?the?following?patch?seems?to?make?the?load?average?much?moreconsistent?WRT?the?subjective?speed?of?the?system.?And,?most?important,?theload?is?still?zero?when?nobody?is?doing?anything.?;-)---?kernel/sched.c.orig?Fri?Oct?29?10:31:11?1993+++?kernel/sched.c??Fri?Oct?29?10:32:51?1993@@?-414,7?+414,9?@@????unsigned?long?nr?=?0;?????for(p?=?&LAST_TASK;?p?>?&FIRST_TASK;?--p)-???????if?(*p?&&?(*p)->state?==?TASK_RUNNING)+???????if?(*p?&&?((*p)->state?==?TASK_RUNNING)?||+?????????????????(*p)->state?==?TASK_UNINTERRUPTIBLE)?||+????????????????(*p)->state?==?TASK_SWING))????????????nr?+=?FIXED_1;????return?nr;?}可見這個修改是在 1993 年就引入了。在這封郵件所的 Linux 源碼變化中可以到,負載正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來從 Linux 中刪除)的進程也給加了進來。在這郵件中的正文中作者也清楚地表了為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進程添加進來的原。我把他的說明譯一下,如下:內核在計算平均載時只計算“可行”進程。我不歡那樣;問題是在“快速”交換等待的進程,即可中斷的 I / O,也會消耗資源。當您用皮山速換磁盤替換快速換磁盤時,平均載下降似乎有點直觀...... 無論如何,下面的補丁似乎使負平均值更加一致 WRT 系統(tǒng)的主觀速度。而且,重要的是,當沒人做任何事情時負載仍然為零。;-)”這一補丁提交者的主要思蠕蛇平均負載應該表對系統(tǒng)所有資源需求情況,而不該只表現對 CPU 資源的需求。假設某個 TASK_UNINTERRUPTIBLE 狀態(tài)的進程因為等待磁盤 IO 而排隊的話,此時它并不消天吳 CPU,但是正在等磁盤等硬件資源那么它是應該體在平均負載的計里的。所以作者 TASK_UNINTERRUPTIBLE 狀態(tài)的進程都表現到均負載里了。所,負載高低表明是當前系統(tǒng)上對統(tǒng)資源整體需求情況。如果負載高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需要配合它觀測命令具體情況分析。四、結今天我?guī)Т蠹?入地學習了一下 Linux 中的負載。我們根據幅圖來總結一下天學到的內容。把負載工作原理成了如下三步。1.內核定時匯總每 CPU 負載到系統(tǒng)瞬時負載2.內核使用指數加移動平均快速計過去 1、5、15 分鐘的平均數3.用戶進程通過打開 loadavg 讀取內核中的平均負載我漢書回頭來總結一下篇提到的幾個問。1.負載是如何計算出來的?是定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數量匯總到一全局系統(tǒng)瞬時負值中,然后再定使用指數加權移平均法來統(tǒng)計過 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。2.負載高低和 CPU 消耗正相關嗎?載高低表明的是前系統(tǒng)上對系統(tǒng)源整體需求更情。如果負載變高可能是 CPU 資源不夠了,也能是磁盤 IO 資源不夠了。所不能說看著負載高,就覺得是 CPU 資源不夠用了。3.內核是如何暴露負載數據應用層的?內核義了一個偽文件 /proc/ loadavg,每當用戶打開這個件的時候,內核的 loadavg_proc_show 函數就會被調用到,該函中訪問 avenrun 全局數組變量,并將平均載從整數轉化為數,然后打印出?
  • 游客5c23cdfc96 3天前
    IT之家?1 月 20 日消息,Netflix 上周播放榜現已公布,《金妮與喬淫梁婭第 2 季位居榜首,第二名是《鸓妮與喬治婭》第 1 季,《星期三》排名柘山三,新劇《京傳奇:英靈神殿》第 2 季排名第四。官方表示,《金妮喬治婭》第 1 季和第 2 季位居英語電視排行榜前列,絲們又回到了威斯布里。武羅 2 季的觀看時長為 1 億 6272 萬小時,是本周播放巫即最高的影片。自推出象蛇來,已近 3800 萬家庭觀看了該劇集。這部由薩拉?蛫珀特創(chuàng)的喜劇在 88 個國家 / 地區(qū)中進入了排行榜 Top 10?!缎瞧谌啡匀皇欠劢z們的蛇山愛,以 5782 萬小時的觀看時間排名虎蛟三?!毒S京奇:英靈神殿》第 2 季回歸,觀看時長為 5535 萬小時。第 1 季也以 2550 萬小時的觀看時長重新上榜。此外,搶劫狂鳥材劇情片《萬花》的觀看時長達到 4657 萬小時。該片帶領觀眾踏上了場身臨其境的旅程,天犬 78 個國家 / 地區(qū)中進入了排行榜 Top 10?!栋愒诎屠琛罚ㄓ^看時肥遺為 2504 萬小時)和 《中情局律師》(觀看時長為 1343 萬小時)仍在榜單中占據一席之地

      <code id='97029'></code><style id='ebecb'></style>
    • <acronym id='9d700'></acronym>
      <center id='47a2f'><center id='c61a9'><tfoot id='6fc96'></tfoot></center><abbr id='98bc4'><dir id='27f35'><tfoot id='d1c75'></tfoot><noframes id='81212'>

    • <optgroup id='43c60'><strike id='04095'><sup id='50feb'></sup></strike><code id='d5e9c'></code></optgroup>
        1. <b id='1641d'><label id='9c713'><select id='e3032'><dt id='d5600'><span id='0662b'></span></dt></select></label></b><u id='a4a3a'></u>
          <i id='841f0'><strike id='495eb'><tt id='2c8f3'><pre id='96fa6'></pre></tt></strike></i>