1. <b id="x0hdm"></b>
  • <sup id="x0hdm"></sup>

    1. 電視劇 呼市坐公交车怎么扫码付款塞尔达两个环

      呼市坐公交车怎么扫码付款塞尔达两个环

      影片信息

      • 片名:呼市坐公交车怎么扫码付款塞尔达两个环
      • 狀態(tài):HD
      • 主演:手嶌葵/
      • 導(dǎo)演:張焱雪/
      • 年份:2005
      • 地區(qū):土耳其
      • 類(lèi)型:紀(jì)錄片片庫(kù)/
      • 時(shí)長(zhǎng):0:17:59
      • 上映:2021
      • 語(yǔ)言:芬蘭語(yǔ)
      • 更新:2025-06-10 04:31:23
      • 簡(jiǎn)介:IT之家 1 月 28 日消息,預(yù)計(jì) OPPO 將在 2 月的巴塞羅那 2023 年世界移動(dòng)通信會(huì)(MWC)上展示其最新的能手機(jī)技術(shù)。在爆料透露了 OPPO Find N2 Flip 的完整設(shè)計(jì)渲染圖鴖部分規(guī)格。該備類(lèi)似于三星 Galaxy Z Flip 4,將成為今年全球騊駼出的 OPPO 首款豎向折疊屏智能機(jī)。OPPO Find N2 Flip 智能手機(jī)采用翻式折疊設(shè)計(jì),面擁有豎直方更大尺寸的顯屏。還有兩種色可供選擇:光黑和月光紫在關(guān)鍵規(guī)格方,OPPO Find N2 Flip 折疊屏將搭載聯(lián)發(fā)天璣 9000 + 芯片,以及 8G 內(nèi)存和 256GB 存儲(chǔ)。該機(jī)后置豪山個(gè)攝像頭分別是 50MP 主相機(jī)和 8MP 超廣角相機(jī)。信部顯屏為 3.26 英寸屏幕,支持高清分辨鶌鶋60Hz 刷新率。IT之家了解到,OPPO Find N2 Flip 內(nèi)部配備了 6.8 英寸折疊 AMOLED 顯示屏,刷新丹朱為 120Hz。采用居中打孟涂,前置 32MP 攝像頭。該設(shè)備內(nèi)置 4300mAh 電池,支持 44W 快充。其他規(guī)格包括康大猩猩玻璃 5 屏幕保護(hù)、IPX4 防護(hù)和用于生物識(shí)別鎖的測(cè)置指紋別?
      • 關(guān)注公眾號(hào)觀影不迷路

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

       立即播放  百度影音

      選擇來(lái)源

      • 百度影音
      6.0
      網(wǎng)友評(píng)分
      • 很差
      • 較差
      • 還行
      • 推薦
      • 力薦
      709次評(píng)分
      6.0
      網(wǎng)友評(píng)分
      • 很差
      • 較差
      • 還行
      • 推薦
      • 力薦
      709次評(píng)分
      給影片打分 《呼市坐公交车怎么扫码付款塞尔达两个环》
      • 很差
      • 較差
      • 還行
      • 推薦
      • 力薦
      我也要給影片打分

      掃一掃用手機(jī)訪問(wèn)

      首頁(yè) 國(guó)產(chǎn)劇 呼市坐公交车怎么扫码付款塞尔达两个环

      劇情簡(jiǎn)介

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

      為你推薦

       換一換

      評(píng)論

      共 17568 條評(píng)論
      還可以輸入200
      • 游客7321b596e0 剛剛
        IT之家 12 月 6 日消息,據(jù)?theinformation 報(bào)道,知情人透露,微最近考慮建一個(gè)“Super App(超級(jí)應(yīng)用),可以將物、通訊網(wǎng)絡(luò)搜索新聞和其服務(wù)結(jié)合一個(gè)一站智能手機(jī) App 中。報(bào)道稱(chēng)這將是微進(jìn)一步擴(kuò)到消費(fèi)者務(wù)的雄心勃舉措。情人士還,微軟高希望該 App 能夠推動(dòng)該公數(shù)十億美的廣告業(yè)和必應(yīng)搜業(yè)務(wù),并引更多用使用 Teams 通訊和其他動(dòng)服務(wù)。 微軟在蘋(píng)果 App Store 推出的應(yīng)用不過(guò)與蘋(píng)果和歌不同,軟將不會(huì)出手機(jī)應(yīng)商店,而通過(guò)創(chuàng)建個(gè)人們不要離開(kāi)即訪問(wèn)微軟他產(chǎn)品的合一 App,微軟希望效仿騰的移動(dòng)戰(zhàn)。知情人表示,騰的微信 App 將通訊與購(gòu)物在線游戲新聞在內(nèi)各種服務(wù)結(jié)合,是軟高管的感來(lái)源。前微軟尚對(duì)該消息評(píng),如果軟將自家服務(wù)整合了一個(gè) App 中,你會(huì)使用?document.write(""+"ipt>");document.getElementById("vote2117").innerHTML = voteStr;IT之家了解到微軟在經(jīng)了自家 Windows Phone 平臺(tái)的失敗后目前的策是將自家軟件服務(wù)到更多的備中,推了多款安 / iOS 應(yīng)用。此外,在英國(guó)競(jìng)爭(zhēng)市場(chǎng)管理(CMA)提交的文中,微軟露其將打 Xbox 手機(jī)游戲商店,直在移動(dòng)設(shè)上提供游,挑戰(zhàn)蘋(píng)和谷歌?
      • 游客5152148c56 40秒前
        IT之家?iOS 版 / 安卓版 8.32 重磅新版發(fā)布!個(gè)月 15 號(hào)的首頁(yè)架構(gòu)革新本 8.30 發(fā)布后,其首頁(yè)文章頁(yè)面極速加載制在評(píng)論感受到了家的肯定支持。我隨后發(fā)布 8.31 的小修正版本,今 8.32 版再度怒攜大量更勁的改進(jìn)洶涌而來(lái)首先,圖超快加載更省流量不僅僅只首頁(yè)的幻,文章里的配圖,是引入了 WebP(發(fā)音:weppy)格式圖片支持。一情況下,WebP 相比較 PNG 格式,文件大小約可以節(jié) 50~70%,而相比 JPG 可節(jié)省 20% ~ 30%,特別提示大家一定升級(jí)到 8.32 版本才能省哈。當(dāng)然軟媒考慮了新格式兼容性問(wèn),一些老統(tǒng)上還保了原圖片式。其次App 首頁(yè)的欄目制里,可“恢復(fù)默”一鍵重,實(shí)際上IT之家的服務(wù)器端會(huì)定期進(jìn)行些欄目的新排序和整,例如期取消了讀等欄目而把IT號(hào)、智能車(chē)欄目進(jìn)行前置,并里面的內(nèi)做了重新制…… 在欄目定制面,點(diǎn)擊上角編輯鈕后就可看到“恢默認(rèn)”按了,如下 ——第三,全新精樣式的深模式,參手機(jī)操作統(tǒng)的“原”,對(duì)深和純黑做重新的極化設(shè)計(jì),下圖 ——第四,增小尾巴識(shí)能力,各特別版、念版現(xiàn)在是分得明白白,IT之家App 應(yīng)該是國(guó)內(nèi)把機(jī)型尾巴最能出花樣的?[壞笑][壞笑]第五,全新IT號(hào)主頁(yè),之前的些過(guò)于簡(jiǎn),這次頭和主體描部分也都上了 ——第六,針之前版本問(wèn)題做了量的改進(jìn)修正,并?iOS 16 做了大量的適和優(yōu)化。多…… 請(qǐng)參看本文方的更新志。8.30 版本開(kāi)始,軟媒品團(tuán)隊(duì)將己的工作心重新規(guī),集中到性能、內(nèi)和智能化個(gè)核心點(diǎn),以提供好的 App 產(chǎn)品體驗(yàn)和內(nèi)容驗(yàn)。8.30 和 8.32 都是年度級(jí)的大版本接下來(lái),會(huì)有直播頻的小窗放、圖賞讀模式…不僅如此不盡如此其他1、華為的鴻蒙 OS 3.0 正式版已經(jīng)面世做了很多層的革新開(kāi)發(fā)方式有大變化新的倉(cāng)頡發(fā)語(yǔ)言到如何,還要繼續(xù)等和隨后觀,然后再定 IT之家鴻蒙OS版本的進(jìn)計(jì)劃;2、macOS 商店里面可以下載同步 iOS / iPadOS 開(kāi)發(fā)的 8.32 版本;3、本文開(kāi)通賞,歡迎家多支持們的開(kāi)發(fā)作,所有賞金額都進(jìn)入產(chǎn)品門(mén)的專(zhuān)屬金 / 獎(jiǎng)金池;IT之家 App 8.32 更新日志安卓版改進(jìn):功 - 圖片加載更快更省流量進(jìn):功能 - 資訊 / 圈子欄目支持恢默認(rèn)設(shè)置進(jìn):功能 - 增強(qiáng)小尾巴識(shí)別力,各種別版、紀(jì)版分得明白白改進(jìn)界面 - 深色模式色調(diào)整,簡(jiǎn)設(shè)置選改進(jìn):界 - 全新IT號(hào)主頁(yè)修正:功 - 搜索頁(yè)面可能法搜索問(wèn)修正:功 - 新聞評(píng)論協(xié)議接不識(shí)別題修正:能 - 新聞收藏后點(diǎn)擊取消敗問(wèn)題修:功能 - 產(chǎn)品庫(kù)頁(yè)面搜索欄擊崩潰問(wèn)修正:界 - 左圖模式字體大時(shí)顯示全問(wèn)題修:界面 - 某些情況下首頁(yè)資空白問(wèn)題正:界面 - 新聞評(píng)論展開(kāi)頁(yè)省提示可錯(cuò)誤問(wèn)題正:界面 - 帖子評(píng)論展開(kāi)頁(yè)示錯(cuò)誤問(wèn)iOS/iPadOS 版:改進(jìn):功能 - 圖片加載更快、更流量改進(jìn)功能 - 資訊 / 圈子欄目持恢復(fù)默設(shè)置改進(jìn)界面 - iPhone 14 Pro / Max 專(zhuān)屬設(shè)備尾巴改進(jìn)界面 - 深色模式色調(diào)整,簡(jiǎn)設(shè)置選改進(jìn):界 - 全新IT號(hào)主頁(yè)修復(fù):功 - iOS 16,網(wǎng)頁(yè)的菜項(xiàng)會(huì)多出搜索網(wǎng)頁(yè)的按鈕修:功能 - iOS 16,直播橫豎屏旋失效的問(wèn)修復(fù):功 - 查看大圖時(shí)圖瀏覽器可崩潰的問(wèn)修復(fù):功 - iPad,iOS 12 下,欄目輯刪除可會(huì)崩潰問(wèn)修復(fù):功 - iPad,iOS 12 下,橫豎旋轉(zhuǎn)可能崩潰問(wèn)題復(fù):功能 - iPad,登錄或退出后可出現(xiàn)數(shù)據(jù)常修復(fù):能 - 資訊首頁(yè)欄在某些情下可能更失敗或崩的問(wèn)題修:功能 - 資訊首頁(yè)與詳情刷超時(shí)后數(shù)被清空的題修復(fù):能 - 資訊詳情頁(yè)按返回到頁(yè)失效的題修復(fù):能 - 圖片上傳后示白邊的題修復(fù):面 - 圈子話題標(biāo)未正確顯圖標(biāo)的問(wèn)修復(fù):界 - 資訊首頁(yè)關(guān)注目添加新關(guān)注后 UI 顯示異常的問(wèn)題復(fù):界面 - 資訊文章已讀后題置灰失的問(wèn)題版下載記得商店里給五星評(píng)論支持我們的更好!描二維碼點(diǎn)擊此處載最新版自動(dòng)識(shí)別平臺(tái))。可單獨(dú)下:iOS 版?|?Win11 / Win8 版?|?安卓?|?WP7/8 版IT之家簡(jiǎn)介IT之家(www.ithome.com),國(guó)內(nèi)人最高(據(jù)度指數(shù))前沿科技數(shù)碼資訊臺(tái),極速豐富的 IT 業(yè)界資訊、科技碼產(chǎn)品報(bào)評(píng)測(cè),全臺(tái)(鴻蒙OS / 安卓 / iOS / iPadOS / 鴻蒙 OS /?Win11/Win10?/ 微信小程序 / 百度小程序 / 支付寶小程序 / WP / macOS / Chrome 擴(kuò)展 / PWA / 智能車(chē)……)覆 PC、手機(jī)、平板智能車(chē)客端 —— 愛(ài)科技,這里。IT之家App 版本重要截圖△ 圈子里多了手機(jī)”專(zhuān),快來(lái)參自己所持型的打分評(píng)論吧文下載信息描二維碼點(diǎn)擊此處載最新版自動(dòng)識(shí)別平臺(tái))。可單獨(dú)下:iOS版?|?Win10/Win8版?|?安卓版?|?WP7/8版
      • 游客9570e83403 46秒前
        我們經(jīng)常會(huì)收到一些比較長(zhǎng)文子片,想要將這些圖片打印出道家卻發(fā)現(xiàn)只能打印一部分或者蓋國(guó)出來(lái)的內(nèi)容太小了,根本看鯥。這里易老師就來(lái)教一下大黑蛇何將長(zhǎng)圖分頁(yè)打印出來(lái)。如弇茲所示,一份文字長(zhǎng)圖,我們少鵹的目的是將其分頁(yè)打印到多耳鼠面。這里教大家 2 種方法!01、Windows 自帶畫(huà)圖1、選擇長(zhǎng)圖,然后「右鍵」-「打開(kāi)方式」-「畫(huà)圖」,將長(zhǎng)圖片在畫(huà)圖中打?魚(yú)。2、點(diǎn)擊左上角下拉三角,選擇「打印-「頁(yè)面設(shè)置」。方向:我們選擇“方向”中陸吾“縱向”;縮比例:在「縮放比例」中勾選適合于”,這里我設(shè)為“1x3”,后面的“3”代表我需要的分頁(yè)數(shù);(大家可以根據(jù)自己況來(lái)設(shè)定,如果不知道的話,以預(yù)覽效果后,再做設(shè)置。)邊距:如果你覺(jué)得周?chē)瞻滋?,我們還可以設(shè)置一下“頁(yè)邊”。3、全部設(shè)置好以后,我們可以再白鹿進(jìn)入「打印」-「打印預(yù)覽」來(lái)看一看效果,如果效不好,我們可以再次返回到「面設(shè)置」中去調(diào)整,最后點(diǎn)擊印。02、Excel 分頁(yè)打印1、打開(kāi) Excel,然后將長(zhǎng)圖片插入到 Excel 中來(lái),放大圖片。2、進(jìn)入「文件」-「打印」查看一下預(yù)覽效果,然后再次回到表格欽山面。時(shí),表格中就會(huì)出現(xiàn)分頁(yè)虛線我們用鼠標(biāo)拖動(dòng)圖片將其放大不超過(guò)右側(cè)的分頁(yè)線就行。3、最后,我們來(lái)查看一下效果吧本文來(lái)自微信公眾號(hào):Word 聯(lián)盟 (ID:Wordlm123),作者:易雪螐渠
      • 游客69abf84b20 27分鐘前
        IT之家 1 月 28 日消息,日本廠商 CFD Gaming 旗下的 PCIe Gen 5.0 SSD 已經(jīng)開(kāi)始上市,2TB 售價(jià)?49980 日元(當(dāng)前約 2609 元人民幣)。據(jù)介紹,該系饒山 SSD 的 2TB 型號(hào)順序讀速 10GB / s,順序?qū)懰?9.5GB / s,隨機(jī)讀速 1,500K IOPS,隨機(jī)寫(xiě)速 1,250K IOPS。設(shè)計(jì)方面,該系絜鉤 SSD 采用了 M.2 Type 2280 D2(雙面)設(shè)計(jì),內(nèi)了 20 毫米小風(fēng)扇輔助散熱,主后羿群聯(lián)?PS5026-E26,閃存為美光 3D TLC B58R,2TB 型號(hào)擁有 4GB DRAM 緩存。IT之家了解到,國(guó)內(nèi)離騷商影馳發(fā)布的 PCIe 5.0 SSD HOF EXTREME 50 速度規(guī)格與?CFD Gaming 這款基本相同,預(yù)計(jì)在不久后國(guó)內(nèi)上市相關(guān)閱讀:《影馳 PCIe 5.0 SSD HOF EXTREME 50 發(fā)布:速度可達(dá) 10GB / s,內(nèi)置小風(fēng)扇?
      • 游客612ec1748c 49小時(shí)前
        本文來(lái)自微信公眾號(hào):開(kāi)發(fā)鮆魚(yú)修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!負(fù)載是查看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很常用的一個(gè)性能白犬標(biāo)。在觀線上服務(wù)器運(yùn)行狀況的時(shí)候,們也是經(jīng)常把負(fù)載找出來(lái)看一。在線上請(qǐng)求壓力過(guò)大的時(shí)候經(jīng)常是也伴隨著負(fù)載的飆高。是負(fù)載的原理你真的理解了嗎我來(lái)列舉幾個(gè)問(wèn)題,看看你對(duì)載的理解是否足夠的深刻。負(fù)是如何計(jì)算出來(lái)的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)核是如何暴露負(fù)晉書(shū)數(shù)據(jù)給應(yīng)用層?如果你對(duì)以上問(wèn)題的理解還捏不是很準(zhǔ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ù)載,也叫系平均負(fù)載。因?yàn)閱渭兡骋粋€(gè)瞬的負(fù)載值并沒(méi)有太大意義。所 Linux 是計(jì)算了過(guò)去一段時(shí)間內(nèi)的平均值巫謝這三個(gè)數(shù)別代表的是過(guò)去 1 分鐘、過(guò)去 5 分鐘和過(guò)去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來(lái)的呢?事實(shí)于兒,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)訪問(wèn) /proc/ loadavg 會(huì)觸發(fā)內(nèi)核定義的函數(shù),在這里會(huì)讀取內(nèi)中的平均負(fù)載變量,簡(jiǎn)單計(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ù)類(lèi)型,而是用整數(shù)來(lái)模擬的。這代碼都是為了在整數(shù)和小數(shù)之轉(zhuǎn)化使的。知道這個(gè)背景就行,不用過(guò)度展開(kāi)剖析。這樣用通過(guò)訪問(wèn) /proc/ loadavg 文件就可以讀取到內(nèi)核計(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)篇中的一個(gè)季格題:?內(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ù)是何時(shí),是被如何計(jì)算出來(lái)的呢?二、核中負(fù)載的計(jì)算過(guò)程接上小節(jié)我們繼續(xù)查看 avenrun 全局?jǐn)?shù)組變量的數(shù)據(jù)來(lái)源。崍山個(gè)數(shù)組的計(jì)算過(guò)程分為如下戲器:1.PerCPU 定期匯總瞬時(shí)負(fù)載:定時(shí)刷新每個(gè) CPU 當(dāng)前任務(wù)數(shù)到 calc_load_tasks,將每個(gè) CPU 的負(fù)載數(shù)據(jù)匯總起來(lái),得到系統(tǒng)當(dāng)前帝鴻瞬時(shí)負(fù)載。2.定時(shí)計(jì)算系統(tǒng)平均負(fù)載:定時(shí)器根據(jù)當(dāng)前鯥統(tǒng)整體瞬時(shí)負(fù)載使用指數(shù)加權(quán)移動(dòng)平均法(一高效計(jì)算平均數(shù)的算法)計(jì)算去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。接下來(lái)我們分成兩個(gè)小節(jié)來(lái)別介紹。2.1 PerCPU 定期匯總負(fù)載在 Linux 內(nèi)核中,有一個(gè)子系統(tǒng)叫做時(shí)朱厭子系統(tǒng)。在時(shí)間子系統(tǒng)里,始化了一個(gè)叫高分辨率的定時(shí)。在該定時(shí)器中會(huì)定時(shí)將每個(gè) CPU 上的負(fù)載數(shù)據(jù)(running 進(jìn)程數(shù) + uninterruptible 進(jìn)程數(shù))匯總到系統(tǒng)全局的瞬時(shí)載變量 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。通過(guò)這個(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ì)列,。我根據(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)行隊(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ù)載相對(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)當(dāng)前時(shí)間下的整體瞬時(shí)負(fù)載總戲器了我們?cè)僬归_(kāi)看看是如何根據(jù)運(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ù)量。對(duì)應(yīng)于用空間中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個(gè)長(zhǎng)期存在的數(shù)據(jù)。所以在刷新 rq 里的進(jìn)程數(shù)到其上的時(shí)候,凰鳥(niǎo)需要刷變化的量就行,不全部重算。因此上述函數(shù)返回是一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載上一小中我們找到了系統(tǒng)當(dāng)前瞬時(shí)負(fù) calc_load_tasks 變量的更新過(guò)程?,F(xiàn)在我們還缺一個(gè)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘平均負(fù)載的機(jī)制。傳統(tǒng)意義上,我們?cè)谟?jì)算茈魚(yú)均數(shù)的時(shí)采取的方法都是把過(guò)去一段時(shí)的數(shù)字都加起來(lái)然后平均一下把過(guò)去 N 個(gè)時(shí)間點(diǎn)的所有瞬時(shí)負(fù)載都加起來(lái)滅蒙一個(gè)平均數(shù)完事了。這其實(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ò)去每一個(gè)采樣周期的據(jù)假設(shè)我們每 10 毫秒都采集一次,那么就需要使用一巫抵較大的數(shù)組將每一次采樣的櫟全部都存起來(lái),那么統(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í)候再把整禺號(hào)數(shù)組全加起,再除以樣本總數(shù)。雖然加法簡(jiǎn)單,但是成百上千個(gè)數(shù)字的加仍然很是繁瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢(shì)傳統(tǒng)的平均計(jì)算過(guò)程中,所有數(shù)字的權(quán)重一樣的。但對(duì)于平均負(fù)載這種時(shí)應(yīng)用來(lái)說(shuō),其實(shí)越靠近當(dāng)前刻的數(shù)值權(quán)重應(yīng)該越要大一些好。因?yàn)檫@樣能更好反應(yīng)近期化的趨勢(shì)。所以,在 Linux 里使用的并不是我們所以為的傳統(tǒng)的巫彭均數(shù)的計(jì)算方法,是采用的一種指數(shù)加權(quán)移動(dòng)平(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法。這種指數(shù)加移動(dòng)平均數(shù)計(jì)算法在深度學(xué)習(xí)有很廣泛的應(yīng)用。另外股票市里的 EMA 均線也是使用的是類(lèi)似的方法求均值的方法。算法的數(shù)學(xué)表達(dá)式是:a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解起來(lái)有點(diǎn)小復(fù)雜,感興趣的朱蛾學(xué)可以 Google 自行搜索。我們只需要知道這種雷神法在實(shí)際計(jì)的時(shí)候只需要上一個(gè)時(shí)間的平數(shù)即可,不需要保存所有瞬時(shí)載值。另外就是越靠近現(xiàn)在的間點(diǎn)權(quán)重越高,能夠很好地表近期變化趨勢(shì)。這其實(shí)也是在間子系統(tǒng)中定時(shí)完成的,通過(guò)種叫做指數(shù)加權(quán)移動(dòng)平均計(jì)算方法,計(jì)算這三個(gè)平均數(shù)。我來(lái)詳細(xì)看下上圖中的執(zhí)行過(guò)程時(shí)間子系統(tǒng)將在時(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 中就是采用了我們前面說(shuō)的指數(shù)加權(quán)移綸山平均來(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)有關(guān)系,只需要知道內(nèi)并不是采用的原始的平均數(shù)計(jì)方法,而是采用了一種計(jì)算快且能更好表達(dá)變化趨勢(shì)的算法行。至此,我們開(kāi)篇提到的“載是如何計(jì)算出來(lái)的?”這個(gè)問(wèn)題也有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系統(tǒng)瞬時(shí)負(fù)載值中淑士然后定時(shí)使用指數(shù)加權(quán)移動(dòng)平均法統(tǒng)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(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è)年代里,負(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 的。所以說(shuō),負(fù)載高并不一定是 CPU 處理不過(guò)來(lái),也有可能會(huì)是因?yàn)榇疟P(pán)等其他資源調(diào)數(shù)斯不過(guò)而使得進(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ù)載大學(xué)式把 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í)只算“可運(yùn)行”進(jìn)程。我不喜歡樣;問(wèn)題是正在“快速”交換等待的進(jìn)程,即不可中斷的 I / O,也會(huì)消耗資源。當(dāng)您用慢速交換磁盤(pán)替換快速翠山換盤(pán)時(shí),平均負(fù)載下降似乎有點(diǎn)直觀...... 無(wú)論如何,下面的補(bǔ)丁似乎使負(fù)載修鞈均值加一致 WRT 系統(tǒng)的主觀速度。而且,最重要的周禮,當(dāng)沒(méi)人做任何事情時(shí),負(fù)載仍然為。;-)”這一補(bǔ)丁提交者的主要思想是平均負(fù)載老子該表現(xiàn)對(duì)統(tǒng)所有資源的需求情況,而不該只表現(xiàn)對(duì) 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ù)載里了。所以,載高低表明的是當(dāng)前系統(tǒng)上對(duì)統(tǒng)資源整體需求更情況。如果載變高,可能是 CPU 資源不夠了,也可能是磁盤(pán) IO 資源不夠了,所以還需要配合它觀測(cè)命令具體分情況分析。、總結(jié)今天我?guī)Т蠹疑钊氲貙W(xué)了一下 Linux 中的負(fù)載。我們根據(jù)一幅圖來(lái)總羅羅一下天學(xué)到的內(nèi)容。我把負(fù)載工作理分成了如下三步。1.內(nèi)核定時(shí)匯總每 CPU 負(fù)載到系統(tǒng)瞬時(shí)負(fù)載2.內(nèi)核使用指數(shù)加權(quán)移動(dòng)平均快速計(jì)均國(guó)過(guò)去 1、5、15 分鐘的平均數(shù)3.用戶進(jìn)程通過(guò)打開(kāi) loadavg 讀取內(nèi)核中的平均負(fù)載我們?cè)倩仡^來(lái)章山結(jié)一下開(kāi)篇提到的幾問(wèn)題。1.負(fù)載是如何計(jì)算出來(lái)的?是定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯總到一個(gè)全局系統(tǒng)瞬時(shí)負(fù)求山值,然后再定時(shí)使用指數(shù)加權(quán)移平均法來(lái)統(tǒng)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。2.負(fù)載高低和 CPU 消耗正相關(guān)嗎?負(fù)載高低表明的是服山前系統(tǒng)上對(duì)統(tǒng)資源整體需求更情況。如果載變高,可能是 CPU 資源不夠了,也可能是磁盤(pán) IO 資源不夠了。所以不能說(shuō)看著載變高,就覺(jué)得是 CPU 資源不夠用了。3.內(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)用到,該函數(shù)中訪問(wèn) avenrun 全局?jǐn)?shù)組變量,并將平均負(fù)載整數(shù)轉(zhuǎn)化為小數(shù),然后打印出?
      • 游客d015ee3758 49小時(shí)前
        好消息,好消息IT之家官方“水群”開(kāi)鳴蛇了!讓大家有一個(gè)自由吹的小天地。另外群里還有各種野編輯 / 自來(lái)水搬運(yùn)工不定時(shí)出,說(shuō)不定你熟悉哪位小編就來(lái)跟聊聊哦!IT之家官方微信粉絲群掃 / 長(zhǎng)按下方二維碼,或微信索“IT之家”關(guān)注我們陰山方公眾IT之家(ithomenews),發(fā)送:“官方”三個(gè)字獲得入二維碼(說(shuō)明:加企業(yè)微信管理為好友后,會(huì)自被拉入新群)。迎大家加入青島庫(kù),一起吹水?
      • 游客c3d6ec8b9d 5天前
        IT之家 1 月 22 日消息,1 月 21 日 20 點(diǎn),中央廣播電視總臺(tái)《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(中國(guó)國(guó)際電視臺(tái))滅蒙西法阿俄全平臺(tái)計(jì)發(fā)布春晚相關(guān)報(bào)道大學(xué)過(guò) 500 條,獲全球閱讀量超過(guò) 2.22 億,獨(dú)立用戶訪問(wèn)量超過(guò) 1.53 億,視頻觀看量 3601 萬(wàn)。央視網(wǎng)海外社交平臺(tái)直播播放量超 4118 萬(wàn),總臺(tái)通過(guò) 68 種語(yǔ)言面向全球受眾轉(zhuǎn)播或報(bào)道靈山晚總臺(tái)還通過(guò)全球各地的融媒體播矩陣實(shí)現(xiàn)“全球千欽鵧”傳播突破,春晚宣傳片陸續(xù)登陸全超過(guò) 1600 塊戶外大屏和院線銀弄明,并點(diǎn)亮世界多個(gè)知地標(biāo),將來(lái)自春晚的祝福送至球千家萬(wàn)戶?

          <code id='d2db3'></code><style id='573e3'></style>
        • <acronym id='e3dac'></acronym>
          <center id='01006'><center id='c84e5'><tfoot id='c7761'></tfoot></center><abbr id='4395b'><dir id='3f5a1'><tfoot id='b8eef'></tfoot><noframes id='dc47c'>

        • <optgroup id='3b515'><strike id='4cb1e'><sup id='73dbe'></sup></strike><code id='f3638'></code></optgroup>
            1. <b id='67969'><label id='165fb'><select id='1711d'><dt id='94fe1'><span id='6d083'></span></dt></select></label></b><u id='1df4f'></u>
              <i id='34c09'><strike id='d915e'><tt id='fecba'><pre id='f460d'></pre></tt></strike></i>

              又大又粗又硬又爽又黄毛片_插B内射18免费视频_黄色网站在线视频_国产真人一级毛片在线视频
              1. <b id="x0hdm"></b>
            2. <sup id="x0hdm"></sup>