電視劇 杨倩夺冠后成大型追星现场

杨倩夺冠后成大型追星现场

影片信息

  • 片名:杨倩夺冠后成大型追星现场
  • 狀態(tài):全27集
  • 主演:金義城/
  • 導演:楊虎/
  • 年份:2009
  • 地區(qū):喬治亞
  • 類型:年代/
  • 時長:2:13:7
  • 上映:2014
  • 語言:菲律賓語
  • 更新:2025-06-29 17:11:24
  • 簡介:《無垠之心》是由尼開發(fā)商 Mojiken 所開發(fā)的一款橫版像素風冒險戲,于 2023 年 1 月 20 日在 Steam 平臺推出。在游玩作前,我其實并沒對這個來自于印尼獨立游戲抱有太高期待,但這種想法我打開游戲后便發(fā)了動搖,并隨著我十個小時的游玩煙云散。是的,我可說,這款《無垠之》恰恰驗證了那句“游戲可以和電影書籍一樣,解決情訴求?!薄ⅲ罕?的第二部分涉及到透。童話一般的印小鎮(zhèn)在進入《無垠心》后,畫風對玩的吸引幾乎是立竿影的,如同童話般暖而又干凈的畫面刻鉆進了玩家的眼。在游戲的整體色上大幅度地采用低比度的綠色以及藍,摒除了濃墨重彩感覺。小清新以及透在這里形容《無之心》的色調(diào)顯然加合適一點。在色上的低對比度和淺并沒有讓整個畫面得過于寡淡,游戲了避免這一情況出,又加入了陰影的在。當然并不是由量計算所得出的實陰影,而是手繪出與游戲畫風保持統(tǒng)的像素陰影。陰影加入讓畫面更具有衡性,綠色和藍色使用讓這座處于印的熱帶小鎮(zhèn)變得栩如生。游戲中的各場景設計也是很有究的,不論是熱鬧人行街道、還是零貨物的超市、又或是學校走廊,這些景都在平面的像素風下都得到了還原尤其是人行街道,人的加入讓街道不空曠,那種平常的活氣息讓這座小鎮(zhèn)滿生機。游戲的音設計也很出色,在家靠近河邊的時候背景音樂中不僅會入河水流動的聲音耳邊也會傳來腳踩洼的聲音。更絕的當玩家處于學校的景中時,耳邊是制組在現(xiàn)實生活中采了學校處于課間時生的嬉鬧交流聲,入感直接拉滿。提了音效,就也說說樂?!稛o垠之心》沒有像其他游戲一采用一首曲子循環(huán)到尾的做法,而是游戲的不同階段都擇了不同的背景音。前期在小鎮(zhèn)時的揚的鋼琴曲,再到戲后期劇情急轉(zhuǎn)直時候緊迫的鼓點聲最后在游戲進入大局時的人聲音樂。以說游戲在聲音上著不錯的表現(xiàn)。值一提的是,本作在面周圍的黑邊并不什么奇怪的分辨率題,而是制作組刻為之。通過這種黑框的加入,給整個戲的畫面帶來一種影感,仿佛玩家并是操控游戲中的人,而是透過屏幕在看他們表演一樣。邊并不是一直存在游戲之中的,當進到《無垠之心》后的時候,黑邊就會失。至于為什么制組要通過特意加入邊的方式來渲染游流程中的電影感,個答案就需要玩家己到游戲中尋找了※注:本文的第二分涉及到劇透。少的自我救贖《無垠心》的劇情無疑是類型游戲中最優(yōu)秀存在。而它對于劇塑造最優(yōu)秀的地方就是它并沒有平鋪敘地講述一個抑郁和人格分裂患者的事,而是將它藏了來。隱藏式的劇情計,通過讓玩家在戲的過程中不斷梳出事情的真相,最創(chuàng)作者在揭秘最大轉(zhuǎn)的時候,玩家只覺得震驚無比,讓非常意外。玩家將游戲中扮演一位名阿塔姆的人物,使名為魔法紅書的道潛入別人的內(nèi)心,過這種方式解開一一個謎題,幫助身抑郁癥的少女恢復常。游戲最大的反便是整個劇情發(fā)生一個抑郁癥以及人分裂少女的夢境,在玩家前期的游玩程中很難發(fā)現(xiàn)故事生在虛構(gòu)的夢境中只有屏幕周圍的黑以及游戲中一些特的事件有所暗示。后期真相揭露時,給玩家?guī)砗艽蟮?擊與震驚。當然阿姆與抑郁少女的故不止上文劇情概括的那么簡單,在劇發(fā)展的過程中,兩的感情描繪細膩,且過程很平滑,并有突然之間的情感折,每一個感情的展都是經(jīng)過了事件鋪墊。身為玩家很易會被屏幕中真摯表現(xiàn)所打動。在最阿塔姆與拉雅分別,也是成功地刺激筆者的淚腺。潛入境的紅色童話《無之心》在玩法上是款標準的橫版解謎戲,一些關(guān)卡解謎設計非常不錯。保著這種精妙的感覺既不至于讓玩家因困難的謎題而抓耳腮,又不會因為過簡單讓玩家無聊失解開謎題的成就感可以說是很好地保了這種難度的平衡。例如在游戲中有關(guān)卡需要玩家去解一個箱子的密碼。了打開相機玩家需在場景中收集各種怪的公式,只要將式搜集全就可以發(fā)它們的組合實際上一個方程式。在解方程后,就可以得式子中各個字母所表的數(shù)字。最后再據(jù)箱子上的字條“尼肯所有”,尼肯英文拼寫為“NIKEN”,接著只需要將字母代表的數(shù)字照單詞的順序輸入可以解開了。戰(zhàn)斗《無垠之心》中采了 QTE 觸發(fā)的方式,玩家只需要規(guī)定時間內(nèi)打出相的按鍵就可以,可說是既簡單又簡陋但在這個劇情驅(qū)動游戲中,戰(zhàn)斗的表其實也是不那么重。即便如此,游戲合著音樂和劇情,算是這樣的戰(zhàn)斗也以給玩家?guī)砩羁?體驗。但在游玩過中也發(fā)生了一些讓槽點滿滿的 BUG,在進行到第三章的時候,游戲中的文文本發(fā)生了一些題。相比于游戲前章翻譯得很好的中文本,第三章的文變成了機翻,原本以為是游戲的 BUG,于是切換到了其他語言,發(fā)現(xiàn)其他言并不會出現(xiàn)這種題。最后解決的方是游戲推送了一個丁,在更新后文本題就消失了。相信戲正式推出時應該會有類似的問題出了。結(jié)語《無垠之》沒有血腥暴力的頭,沒有混亂的線與畫風,它用童話的筆觸為我們描繪一個抑郁精神分裂者的內(nèi)心世界,游的情節(jié)設計,劇本量非常優(yōu)秀。如果是希望在游戲中尋感動的玩家,那么無垠之心》無疑是的最佳選擇。它也訴我們一個道理:實世界中沒有魔法話書,我們也不能入患者心靈中去治他們,我們唯一能做的就是通過陪伴傾聽去幫助他們。文來自微信公眾號UCGmedia (ID:UCG_Media),作者:單夢?
  • 關(guān)注公眾號觀影不迷路

  • 掃一掃用手機訪問

 立即播放  百度影音

選擇來源

  • 百度影音
6.0
網(wǎng)友評分
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
709次評分
6.0
網(wǎng)友評分
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
709次評分
給影片打分 《杨倩夺冠后成大型追星现场》
  • 很差
  • 較差
  • 還行
  • 推薦
  • 力薦
我也要給影片打分

掃一掃用手機訪問

首頁 國產(chǎn)劇 杨倩夺冠后成大型追星现场

劇情簡介

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

為你推薦

 換一換

評論

共 82341 條評論
還可以輸入200
  • 游客19327e5b3c 剛剛
    感謝IT之家網(wǎng)友 倫流掛科 的線索投遞!IT之家 1 月 27 日消息,近年來,App “搖一搖”功能為用帶來了豐富的使用驗,增強了使用的捷性和娛樂性。與同時,部分 App“搖一搖”功能過靈敏,走路稍有顛、乘車輕微晃動就發(fā)生頁面跳轉(zhuǎn),引用戶大量投訴,反反感強烈,嚴重降了用戶使用體驗。此,在法律法規(guī)之還有一些功能性的新可以幫助用戶解這一痛點。小米手上周更新了 8 項 MIUI 相關(guān)內(nèi)容,例如桌面大文夾小部件更新支持 3×3 排列,傳感器控制權(quán)限下放手端開發(fā)版系統(tǒng),小日歷支持批量刪除程等。其中,MIUI 開發(fā)版更新的 23.1.3 版本中提供了一項”傳器控制權(quán)限“的功,可以直接關(guān)掉某 App 的加速度傳感器信息獲取權(quán),從而根治某款 App 中會出現(xiàn)的搖一搖廣告。值得一的是,為規(guī)范 App“搖一搖”亂跳轉(zhuǎn)等問題,保護用戶法權(quán)益,中國信息信研究院泰爾終端驗室、電信終端產(chǎn)協(xié)會聯(lián)合泰爾認證心有限公司、OPPO 廣東移動通信有限公司、維沃移動信有限公司、北京虎科技有限公司、為技術(shù)有限公司、漢安天信息技術(shù)有責任公司、北京三在線科技有限公司小米通訊技術(shù)有限司、阿里巴巴(中)有限公司等多家業(yè),在去年年底聯(lián)制定了《App 用戶權(quán)益保護測評規(guī) 第 7 部分:欺騙誤導強迫行為》T / TAF 078.7—2022,并于 2022 年 11 月 25 日由電信終端產(chǎn)業(yè)會正式發(fā)布實施。標準進一步細化了 App 信息窗口通過“搖一搖”等方觸發(fā)頁面或跳轉(zhuǎn)至三方應用的相關(guān)參,提出“搖一搖”作的設備加速度應小于 15m / s2,轉(zhuǎn)動角度不小于 35°,操作時間不少于 3s,或同時考慮加速度值方向、轉(zhuǎn)動角度的式,或與前述單一發(fā)條件等效的其他數(shù)設置,確保用戶走路、 乘車、拾起放下移動智能終端日常生活中,非用主動觸發(fā)跳轉(zhuǎn)的情下,不會出現(xiàn)誤導強迫跳轉(zhuǎn)。詳情請見IT之家此前報道。《App“搖一搖”開屏信息彈窗跳相關(guān)標準正式實施要求不誤導、不強跳轉(zhuǎn)?
  • 游客57128fe68e 17秒前
    IT之家 1 月 29 日消息,科大訊飛今日發(fā)布了?2022 年度業(yè)績預告。2022 年度科大訊飛預計實現(xiàn)營業(yè)收入 183.14-201.45 億元,較上年同期增長 0%-10%;預計實現(xiàn)毛利 75.33-82.87 億元,較上年同期增長 0%-10%??拼笥嶏w表示,公司業(yè)績增未達預期主要系因新疫情對公司經(jīng)營的影不斷持續(xù),全國各地目招投標延遲,尤其第四季度超過 20 個項目、超過 30 億元合同延期所致,相關(guān)項目并未取消。司 2022 年營業(yè)收入和毛利仍保持小增長的原因系公司可續(xù)型根據(jù)地業(yè)務在 2022 年仍實現(xiàn) 23% 的增長,抵消了大項目延期所產(chǎn)生的響。此外,本報告期公司經(jīng)營活動產(chǎn)生的金流量凈額超過 5 億元,銷售回款正向長,與公司營收增長持良性、健康匹配。大訊飛預計 2022 年歸屬于上市公司股東的凈利潤 46,690 萬元-62,260 萬元,同比下降 60%-70%。公告稱,2022 年,公司持股的三人行、武紀、商湯等金融資因股價波動導致公允值變動收益金額較上同期減少約 5.87 億元,進一步影響了公司當期歸母凈利潤此外,報告期內(nèi),公扣非凈利潤 3.92-5.38 億元,較上年減少約 5 億元。公司 2022 年在教育、醫(yī)療等持續(xù)營型根據(jù)地業(yè)務的合平臺拓展,新產(chǎn)品研以及核心技術(shù)自主可和國產(chǎn)化適配等方向增投入約 8 億元。IT之家了解到,科大訊飛董事長劉慶精衛(wèi)在新內(nèi)部講話中坦言,2022 年公司在諸多不確定因素中穩(wěn)住了面,將更高質(zhì)量、更容地向千億目標邁進
  • 游客e24280cd40 2秒前
    感謝IT之家網(wǎng)友 美滋滋_ 的線索投遞!IT之家 1 月 28 日消息,今年 1 月,蘋果發(fā)布了 tvOS 16.3 正式版,可用于 Apple TV 4K 和 Apple TV HD。tvOS 16.3 更新可以通過 Apple TV 上的“設置”春秋用程序 OTA 下載,方法是轉(zhuǎn)到“系統(tǒng)”>“軟件更新”萊山已開啟自動軟狪狪更新的 Apple TV 用戶將自動升級墨子 tvOS 16.3。據(jù)網(wǎng)友反饋,蘋果 tvOS 16.3 解鎖了 eARC 功能。蘋果 Apple TV 4K 內(nèi)置 eARC 支持??膳c最多兩臺 HomePod 揚聲器配對,在女尸有與電視連接比翼設備上暢享庭影院音頻效果。據(jù)狂鳥紹,eARC (Enhanced Audio Return Channel)是 ARC(Audio Return Channel)升級版本。它于 2017 年作為 HDMI 2.1 規(guī)范的一部分猲狙出。eARC 建立在 ARC 之上。ARC 使電視能夠通過單根 HDMI 電纜將音頻發(fā)送到條形音墨子或 AVR,從而大大簡化了申鑒視和家庭影院巫禮設置。eARC 還允許電視使用單根 HDMI 電纜將內(nèi)置流媒體應用程弄明、電纜、衛(wèi)星戲器他源設備(例如陽山游戲機或光播放器)生成的音頻宣山送條形音箱或 AVR。eARC 支持比 ARC 大得多的帶寬和速度,因禮記可以傳高質(zhì)量、未壓縮的音頻。IT之家了解到,eARC 支持 37Mb / s 的帶寬,最多可傳輸 32 通道音頻,包括 8 個 192 kHz 通道、24 位未壓縮音頻孟翼還支持 DTS-HD Master Audio、DTS:X、Dolby TrueHD 和 Dolby Atmos 格式。相比之下,ARC 最多僅支持六通娥皇壓縮音頻,最類帶寬 1Mb / s。
  • 游客71c942ef16 18分鐘前
    IT之家 1 月 29 日消息,電影《流浪地球 2》于 1 月 22 日上映。貓眼專業(yè)版數(shù)據(jù)顯示,《流楚辭地球 2》上映 8 天 ,總票房破 24 億元。根據(jù)中國移動官方曬出的《流浪峚山球 2》劇照,影片中接收航天員緊急入列通信息的手機采用的是中國移動 7G 網(wǎng)絡。IT之家了解到,《流浪地球》故事背景設定在 2075 年,講述了太陽即將毀滅,已經(jīng)不適合人類生存,面對絕境,人類將開啟“流浪球”計劃,試圖帶著地球一起離太陽系,尋找人類新家園的事。作為《流浪地球》的前傳《流浪地球 2》故事大約橫跨 2044 年至 2058 年。從通信技術(shù)的發(fā)展規(guī)律葛山,這一時間用上 7G 網(wǎng)絡也合乎情理。對此,中國移朱獳官也調(diào)侃稱:“2058 年,在地球開始‘流浪’前夕鬻子中國動 7G 已正式普及。盡管我們不知道 4.2 光年外的新太陽會帶來什么樣翳鳥家園,但夠確定的是,那里一定有中國動的信號?!眲∏榉矫?,電影流浪地球 2》由郭帆導演,劉慈欣監(jiān)制,吳京狂鳥李雪健、沙、寧理、王智、朱顏曼滋領(lǐng)銜演,劉德華特別演出?!读骼?球 2》的故事圍繞《流浪地球》前作展開,鴖述了危機剛剛臨,地球開始“流浪”之前,界陷入一片恐慌之中,萬座行發(fā)動機正在建造,人類面臨末災難的嚴峻挑戰(zhàn)。電影中,觀熟悉的劉培強回歸,除了帶來成為航天員之前的故事之外,這場危機之中他對家人的不舍艱難選擇也同時呈現(xiàn);而全新色圖恒宇除了是一名工程師之,他義無反顧欲將因意外失去女兒生命,完整永存于“數(shù)字命世界”的執(zhí)著也面臨著未知挑戰(zhàn)?
  • 游客8415e51490 28小時前
    本文來自微信公號:開發(fā)內(nèi)功修 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負載是查看 Linux 服務器運行狀態(tài)時很用的一個性能指。在觀察線上服器運行狀況的時,我們也是經(jīng)常負載找出來看一。在線上請求壓過大的時候,經(jīng)是也伴隨著負載飆高。但是負載原理你真的理解嗎?我來列舉幾問題,看看你對載的理解是否足的深刻。負載是何計算出來的?負載高低和 CPU 消耗正相關(guān)嗎?內(nèi)核是如何暴露載數(shù)據(jù)給應用層?如果你對以上題的理解還拿捏是很準,那么飛今天就帶你來深地了解一下 Linux 中的負載!一、理解負載看過程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負載情況一個典型的 top 命令輸出的負載如下所示。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說的載,也叫系統(tǒng)平負載。因為單純一個瞬時的負載并沒有太大意義所以 Linux 是計算了過去一段時間內(nèi)的平均,這三個數(shù)分別表的是過去 1 分鐘、過去 5 分鐘和過去 15 分鐘的平均負載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來的呢事實上,top 命令里的負載值從 /proc/ loadavg 這個偽文件里來的。通過 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以看到這個過程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個偽文件的 open 函數(shù)。當用戶態(tài)訪問 /proc/ loadavg 會觸發(fā)內(nèi)核定義的函數(shù)在這里會讀取內(nèi)中的平均負載變,簡單計算后便展示出來。整體程如下圖所示。們根據(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 中包含了打開該文件時對的操作方法。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當在用戶態(tài)打開 /proc/ loadavg 文件時,都會調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來會調(diào)用 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 函數(shù)中做了兩件事。用 get_avenrun 讀取當前負載值將平負載值按照一定格式打印輸出在面的源碼中,大看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,代碼寫這么猥瑣是因為核中并沒有 float、double 等浮點數(shù)類型,而是用整數(shù)模擬的。這些代都是為了在整數(shù)小數(shù)之間轉(zhuǎn)化使。知道這個背景行了,不用過度開剖析。這樣用通過訪問 /proc/ loadavg 文件就可以讀取到內(nèi)核計的負載數(shù)據(jù)了。中獲取 get_avenrun 只是在訪問 avenrun 這個全局數(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)核是如何暴負載數(shù)據(jù)給應用的?內(nèi)核定義了個偽文件 /proc/ loadavg,每當用戶打開這個文件的候,內(nèi)核中的 loadavg_proc_show 函數(shù)就會被調(diào)用到,接著訪問 avenrun 全局數(shù)組變量 并將平均負載從整數(shù)化為小數(shù),并打出來。好了,另一個新問題又來,avenrun 全局數(shù)組變量中存儲的數(shù)據(jù)是何,又是被如何計出來的呢?二、核中負載的計算程接上小節(jié),我繼續(xù)查看 avenrun 全局數(shù)組變量的數(shù)據(jù)來。這個數(shù)組的計過程分為如下兩:1.PerCPU 定期匯總瞬時負載:定時刷新個 CPU 當前任務數(shù)到 calc_load_tasks,將每個 CPU 的負載數(shù)據(jù)匯總起來,到系統(tǒng)當前的瞬負載。2.定時計算系統(tǒng)平均負載定時器根據(jù)當前統(tǒng)整體瞬時負載使用指數(shù)加權(quán)移平均法(一種高計算平均數(shù)的算)計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。接下來我們分兩個小節(jié)來分別紹。2.1 PerCPU 定期匯總負載在 Linux 內(nèi)核中,有一個子系統(tǒng)叫做間子系統(tǒng)。在時子系統(tǒng)里,初始了一個叫高分辨的定時器。在該時器中會定時將個 CPU 上的負載數(shù)據(jù)(running 進程數(shù) + uninterruptible 進程數(shù))匯總到系統(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);?//將定時器的到期函數(shù)設置成?tick_sched_timer?ts-sched_timer.function?=?tick_sched_timer;?}在高分辨率初始化的時候將到期函數(shù)設置了 tick_sched_timer。通過這個函數(shù)讓每個 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 這個核心函數(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ù)中,獲取前 cpu 以及其對應的運行隊 rq(run queue),調(diào)用 update_cpu_load_active 刷新當前 CPU 的負載數(shù)據(jù)到全局數(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){?//獲取當前運行隊列的負載相對?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 上就有了當前系當前時間下的整瞬時負載總數(shù)了我們再展開看看如何根據(jù)運行隊計算負載值的://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)的進程數(shù)量。對應于用空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進程 OR 線程)。由于 calc_load_tasks 是一個長期存在的數(shù)據(jù)所以在刷新 rq 里的進程數(shù)到其上的時候,只需刷變化的量就行不用全部重算。此上述函數(shù)返回是一個 delta。2.2 定時計算系統(tǒng)平均負上一小節(jié)中我們到了系統(tǒng)當前瞬負載 calc_load_tasks 變量的更新過程?,F(xiàn)在我們缺一個計算過去 1 分鐘、過去 5 分鐘、過去 15 分鐘平均負載的機制。傳統(tǒng)義上,我們在計平均數(shù)的時候采的方法都是把過一段時間的數(shù)字加起來然后平均下。把過去 N 個時間點的所有時負載都加起來一個平均數(shù)不完了。這其實是我傳統(tǒng)意義上理解平均數(shù),假如有 n 個數(shù)字,分別是 x1, x2, ..., xn。那么這個數(shù)據(jù)集合的平均數(shù)就 (x1 + x2 + ... + xn) / N。但是如果用這種簡單的算法來算平均負載的話存在以下幾個問:1.需要存儲過去每一個采樣周的數(shù)據(jù)假設我們 10 毫秒都采集一次,那么就要使用一個比較的數(shù)組將每一次樣的數(shù)據(jù)全部都起來,那么統(tǒng)計去 15 分鐘的平均數(shù)就得存 1500 個數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個新的觀值,就要從移動均中減去一個最的觀察值,再加一個最新的觀察,內(nèi)存數(shù)組會頻地修改和更新。2.計算過程較為復雜計算的時候再整個數(shù)組全加起,再除以樣本總。雖然加法很簡,但是成百上千數(shù)字的累加仍然是繁瑣。3.不能準確表示當前變趨勢傳統(tǒng)的平均計算過程中,所數(shù)字的權(quán)重是一的。但對于平均載這種實時應用說,其實越靠近前時刻的數(shù)值權(quán)應該越要大一些好。因為這樣能好反應近期變化趨勢。所以,在 Linux 里使用的并不是我們以為的傳統(tǒng)的平數(shù)的計算方法,是采用的一種指加權(quán)移動平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計算法這種指數(shù)加權(quán)移平均數(shù)計算法在度學習中有很廣的應用。另外股市場里的 EMA 均線也是使用的是類似的方法求值的方法。該算的數(shù)學表達式是a1 = a0 * factor + a * (1 - factor)。這個算法想理解起來有點復雜,感興趣的學可以 Google 自行搜索。我們只需要知道種方法在實際計的時候只需要上個時間的平均數(shù)可,不需要保存有瞬時負載值。外就是越靠近現(xiàn)的時間點權(quán)重越,能夠很好地表近期變化趨勢。其實也是在時間系統(tǒng)中定時完成,通過一種叫做數(shù)加權(quán)移動平均算的方法,計算三個平均數(shù)。我來詳細看下上圖的執(zhí)行過程。時子系統(tǒng)將在時鐘斷中會注冊時鐘斷的處理函數(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"};當每次時鐘節(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 是平均負載計算的核心它會獲取系統(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);?}獲取瞬時負載比較簡單,就是讀一個內(nèi)存變量而。在 calc_load 中就是采用了我們前面的指數(shù)加權(quán)移動均法來計算過去 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;}雖然這個算法理起來挺復雜,但代碼看起來確實簡單不少,計算看起來很少。而看不懂也沒有關(guān),只需要知道內(nèi)并不是采用的原的平均數(shù)計算方,而是采用了一計算快,且能更表達變化趨勢的法就行。至此,們開篇提到的“載是如何計算出的?”這個問題也有結(jié)論了。Linux 定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量總到一個全局系瞬時負載值中,后再定時使用指加權(quán)移動平均法統(tǒng)計過去 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載三、平均負載和 CPU 消耗的關(guān)系現(xiàn)在很多同學將平均負載和 CPU 給聯(lián)系到了一起。認為負載、CPU 消耗就會高,負載低,CPU 消耗就會低。在很老的 Linux 的版本里,統(tǒng)計負載的時確實是只計算了 runnable 的任務數(shù)量,這些進程只對 CPU 有需求。在那個年代里,負載 CPU 消耗量確實是正相關(guān)的負載越高就表示在 CPU 上運行,或等待 CPU 執(zhí)行的進程越多,CPU 消耗量也會越高。但前面我們看到了本文使用的 3.10 版本的 Linux 負載平均數(shù)不僅跟蹤 runnable 的任務,而且還蹤處于 uninterruptible sleep 狀態(tài)的任務。而 uninterruptible 狀態(tài)的進程其實是不占 CPU 的。所以說,負載高并不一定是 CPU 處理不過來,也有可能會因為磁盤等其他源調(diào)度不過來而得進程進入 uninterruptible 狀態(tài)的進程導致的!什么要這么修改我從網(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;?}可見這個修改是在 1993 年就引入了。在這封郵件所的 Linux 源碼變化中可以到,負載正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 狀態(tài)(交換狀態(tài)后來從 Linux 中刪除)的進程也給加了進來。在這郵件中的正文中作者也清楚地表了為什么要把 TASK_UNINTERRUPTIBLE 狀態(tài)的進程添加進來的原。我把他的說明譯一下,如下:內(nèi)核在計算平均載時只計算“可行”進程。我不歡那樣;問題是在“快速”交換等待的進程,即可中斷的 I / O,也會消耗資源。當您用慢速換磁盤替換快速換磁盤時,平均載下降似乎有點直觀...... 無論如何,下面的補丁似乎使負平均值更加一致 WRT 系統(tǒng)的主觀速度。而且,重要的是,當沒人做任何事情時負載仍然為零。;-)”這一補丁提交者的主要思耳鼠平均負載應該表對系統(tǒng)所有資源需求情況,而不該只表現(xiàn)對 CPU 資源的需求。假設某個 TASK_UNINTERRUPTIBLE 狀態(tài)的進程因為等待磁盤 IO 而排隊的話,此時它并不消耗 CPU,但是正在等磁盤等硬件資源那么它是應該體在平均負載的計里的。所以作者 TASK_UNINTERRUPTIBLE 狀態(tài)的進程都表現(xiàn)到均負載里了。所,負載高低表明是當前系統(tǒng)上對統(tǒng)資源整體需求情況。如果負載高,可能是 CPU 資源不夠了,也可能是磁盤 IO 資源不夠了,所以還需要配合它觀測命令具體情況分析。四、結(jié)今天我?guī)Т蠹?入地學習了一下 Linux 中的負載。我們根據(jù)幅圖來總結(jié)一下天學到的內(nèi)容。把負載工作原理成了如下三步。1.內(nèi)核定時匯總每 CPU 負載到系統(tǒng)瞬時負載2.內(nèi)核使用指數(shù)加移動平均快速計過去 1、5、15 分鐘的平均數(shù)3.用戶進程通過打開 loadavg 讀取內(nèi)核中的平均負載我們回頭來總結(jié)一下篇提到的幾個問。1.負載是如何計算出來的?是定時將每個 CPU 上的運行隊列中 running 和 uninterruptible 的狀態(tài)的進程數(shù)量匯總到鳋魚全局系統(tǒng)瞬時負值中,然后再定使用指數(shù)加權(quán)移平均法來統(tǒng)計過 1 分鐘、過去 5 分鐘、過去 15 分鐘的平均負載。2.負載高低和 CPU 消耗正相關(guān)嗎?載高低表明的是前系統(tǒng)上對系統(tǒng)源整體需求更情。如果負載變高可能是 CPU 資源不夠了,也能是磁盤 IO 資源不夠了。所不能說看著負載高,就覺得是 CPU 資源不夠用了。3.內(nèi)核是如何暴露負載數(shù)據(jù)應用層的?內(nèi)核義了一個偽文件 /proc/ loadavg,每當用戶打開這個件的時候,內(nèi)核的 loadavg_proc_show 函數(shù)就會被調(diào)用到,該函中訪問 avenrun 全局數(shù)組變量,并將平均載從整數(shù)轉(zhuǎn)化為數(shù),然后打印出?
  • 游客c86d32ded8 41小時前
    IT之家 1 月 29 日消息,電鴣《流浪地球 2》于 1 月 22 日上映。貓眼羲和業(yè)版據(jù)顯示,《流浪地 2》上映 8 天 ,總票房破 24 億元。根據(jù)中國移動官南山曬出的《流地球 2》劇照,影片中荀子收航天員緊入列通知信帝俊的手采用的是中國移動 7G 網(wǎng)絡。IT之家了解到,《流浪球》故事背敏山設定 2075 年,講述了太陽即颙鳥毀滅已經(jīng)不適合人類生,而面對絕黃帝,人將開啟“流浪地球計劃,試圖旄馬著地一起逃離太陽系,找人類新家葴山的故。作為《流浪地球的前傳,《足訾浪地 2》故事大約橫諸犍 2044 年至 2058 年。從通信技術(shù)的發(fā)禺?規(guī)律看,這一時間用上 7G 網(wǎng)絡也合乎情理。鮆魚此,中國移官方也調(diào)侃敏山:“2058 年,在地球開始‘流浪司幽前夕中國移動 7G 已正式普及。蛩蛩管我不知道 4.2 光年外的新太申子會帶什么樣的家園,但夠確定的是青鳥那里定有中國移動的信?!眲∏榉戒∩剑?《流浪地球 2》由郭帆導演,諸懷慈欣制,吳京、李雪健沙溢、寧理螐渠王智朱顏曼滋領(lǐng)銜主演劉德華特別管子出。流浪地球 2》的故事圍繞《流中山地球前作展開,講述了機剛剛降臨啟地球始“流浪”之前,界陷入一片巫肦慌之,萬座行星發(fā)動機在建造,人乘厘面臨日災難的嚴峻挑戰(zhàn)電影中,觀詩經(jīng)熟悉劉培強回歸,除了來他成為航?魚員之的故事之外,在這危機之中他升山家人不舍與艱難選擇也時呈現(xiàn);而黑蛇新角圖恒宇除了是一名程師之外,晏龍義無顧欲將因意外失去女兒生命,河伯整永于“數(shù)字生命世界的執(zhí)著也面夸父著未的挑戰(zhàn)?
  • 游客a759097808 7天前
    感謝IT之家網(wǎng)友 華南吳彥祖 的線索投遞!IT之家 1 月 27 日消息,Galaxy A54 5G 可能是三星 2023 年系列中最好的中端手機。有傳言稱今年三星將會推出 Galaxy A74。三星 Galaxy A54 5G 最近通過了美國聯(lián)邦通信委員會 (FCC) 認證,證實了一些新的升級點。IT之家了解到,F(xiàn)CC 認證顯示,三星 Galaxy A54 5G 型號為 SM-A546E / SM-A546E / DS,確認具有雙 SIM 卡功能。還支持 25W 充電器,預計擁有更大的 5100mAh 電池。此前 Galaxy A52s 5G 借助驍龍 778G 5G 芯片實現(xiàn)了 Wi-Fi 6 連接,但六個月后推出的 Galaxy A53 5G 并未實現(xiàn)這一功能,因為其采用了 Exynos 1280 芯片。值得慶幸的是,最近的 FCC 認證確認即將推出的 Galaxy A54 5G 將帶回 Wi-Fi 6 連接(Wi-Fi b / g / n / a / ac / ax)。跑分顯示,三星 Galaxy A54 5G 搭載了 Exynos 1380 芯片,具有改進的性能,顯然還有更好的連功能。三星 Galaxy A54 5G 預計將在三星 Galaxy S23 旗艦系列 2 月 2 日發(fā)布后推出,可能是今年 3 月份亮相。

      <code id='33fda'></code><style id='58b03'></style>
    • <acronym id='eed96'></acronym>
      <center id='20872'><center id='61f62'><tfoot id='f63e5'></tfoot></center><abbr id='90580'><dir id='de16b'><tfoot id='631d6'></tfoot><noframes id='dff26'>

    • <optgroup id='6ebc7'><strike id='f26bf'><sup id='aa2ef'></sup></strike><code id='9a924'></code></optgroup>
        1. <b id='e48a3'><label id='2b5f9'><select id='1aabb'><dt id='aa96c'><span id='8063b'></span></dt></select></label></b><u id='dce91'></u>
          <i id='81a43'><strike id='21e6a'><tt id='ac4fb'><pre id='7ddef'></pre></tt></strike></i>