久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行Linux CPU中的Kernel space分析

164次閱讀
沒有評論

共計 1825 個字符,預計需要花費 5 分鐘才能閱讀完成。

如何進行 Linux CPU 中的 Kernel space 分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

簡單說,Kernel space 是 Linux 內核的運行空間,User space 是用戶程序的運行空間。為了安全,它們是隔離的,即使用戶的程序崩潰了,內核也不受影響。

Kernel space 可以執行任意命令,調用系統的一切資源;User space 只能執行簡單的運算,不能直接調用系統資源,必須通過系統接口(又稱 system call),才能向內核發出指令。

str =  my string  //  用戶空間 x  = x + 2file.write(str) //  切換到內核空間 y  = x + 4 //  切換回用戶空間 

上面代碼中,第一行和第二行都是簡單的賦值運算,在 User space 執行。第三行需要寫入文件,就要切換到 Kernel space,因為用戶不能直接寫文件,必須通過內核安排。第四行又是賦值運算,就切換回 User space。

查看 CPU 時間在 User space 與 Kernel Space 之間的分配情況,可以使用 top 命令。它的第三行輸出就是 CPU 時間分配統計。

這一行有 8 項統計指標。

其中,第一項 24.8 us(user 的縮寫)就是 CPU 消耗在 User space 的時間百分比,第二項 0.5 sy(system 的縮寫)是消耗在 Kernel space 的時間百分比。

隨便也說一下其他 6 個指標的含義。

ni:niceness 的縮寫,CPU 消耗在 nice 進程(低優先級)的時間百分比

id:idle 的縮寫,CPU 消耗在閑置進程的時間百分比,這個值越低,表示 CPU 越忙

wa:wait 的縮寫,CPU 等待外部 I/O 的時間百分比,這段時間 CPU 不能干其他事,但是也沒有執行運算,這個值太高就說明外部設備有問題

hi:hardware interrupt 的縮寫,CPU 響應硬件中斷請求的時間百分比

si:software interrupt 的縮寫,CPU 響應軟件中斷請求的時間百分比

st:stole time 的縮寫,該項指標只對虛擬機有效,表示分配給當前虛擬機的 CPU 時間之中,被同一臺物理機上的其他虛擬機偷走的時間百分比

如果想查看單個程序的耗時,一般使用 time 命令。

程序名之前加上 time 命令,會在程序執行完畢以后,默認顯示三行統計。

real:程序從開始運行到結束的全部時間,這是用戶能感知到的時間,包括 CPU 切換去執行其他任務的時間。

user:程序在 User space 執行的時間

sys:程序在 Kernel space 執行的時間

user 和 sys 之和,一般情況下,應該小于 real。但如果是多核 CPU,這兩個指標反映的是所有 CPU 的總耗時,所以它們之和可能大于 real。

[參考鏈接]

User space vs kernel space

Using the Linux Top Command

Understanding Linux CPU stats

What do real , user and sys mean in the output of time(1)?

引用自:https://note.youdao.com/share/?id=799c86ffc9de49ff383b639d155a446e type=note#/

首先我簡單解釋一下客戶所看到的問題。如下圖第三行,top 統計 Cpu 總體使用情況,使用了八個指標。這八個指標分別是:用戶空間進程(us)、內核空間進程(sy)、高 nice 值的用戶空間進程(ni)、空閑(id)、空閑等待 io(wa)、中斷上半部(hi)、中斷下半部(si)、以及 steal 時間(st)。理論上來講這八個指標之和應該是 100%。這八個指標當中,id 和 wa 是 Cpu 空閑時間的統計,這兩個值之和越小,說明 Cpu 越忙碌。客戶這臺服務器的 id 與 wa 之和是 0,所以這臺服務器的 Cpu 使用率是 100%,其中占比最大的是 ni。

除了第三行 Cpu 總體統計指標之外,top 會對 Cpu 的使用率,從進程維度上進行統計,也就是 CPU 這一列。因為這臺服務器是 16 核的,所以每個進程(多線程)的 Cpu 使用率可以超過 100%,同時所有進程 Cpu 使用率之和不能超過上線 1600%(平均到每個核是 100%)。

看完上述內容,你們掌握如何進行 Linux CPU 中的 Kernel space 分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計1825字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 亳州市| 麻城市| 营口市| 长海县| 通渭县| 承德县| 台中县| 麦盖提县| 蒙城县| 西昌市| 郎溪县| 观塘区| 桑植县| 四子王旗| 灵台县| 德安县| 山丹县| 大城县| 大足县| 金秀| 定远县| 陆良县| 泸定县| 蒙山县| 墨脱县| 贵南县| 成安县| 凌海市| 武鸣县| 天等县| 澄迈县| 福州市| 友谊县| 青浦区| 丰镇市| 家居| 临西县| 乐业县| 南昌市| 玉屏| 鱼台县|