2020-12 CPU占用率分析

用戶態(tài)和內(nèi)核態(tài)

內(nèi)核態(tài)(Kernel Mode):運(yùn)行操作系統(tǒng)程序摆碉,操作硬件 用戶態(tài)(User Mode):運(yùn)行用戶程序

  • 內(nèi)核態(tài)與用戶態(tài)是操作系統(tǒng)的兩種運(yùn)行級別塘匣,當(dāng)程序運(yùn)行在3級特權(quán)級上時(shí),就可以稱之為運(yùn)行在用戶態(tài)巷帝。因?yàn)檫@是最低特權(quán)級忌卤,是普通的用戶進(jìn)程運(yùn)行的特權(quán)級,大部分用戶直接面對的程序都是運(yùn)行在用戶態(tài)楞泼;

  • 當(dāng)程序運(yùn)行在0級特權(quán)級上時(shí)驰徊,就可以稱之為運(yùn)行在內(nèi)核態(tài)。

  • 運(yùn)行在用戶態(tài)下的程序不能直接訪問操作系統(tǒng)內(nèi)核數(shù)據(jù)結(jié)構(gòu)和程序堕阔。當(dāng)我們在系統(tǒng)中執(zhí)行一個(gè)程序時(shí)棍厂,大部分時(shí)間是運(yùn)行在用戶態(tài)下的,在其需要操作系統(tǒng)幫助完成某些它沒有權(quán)力和能力完成的工作時(shí)就會(huì)切換到內(nèi)核態(tài)(比如操作硬件)超陆。

往往我們的系統(tǒng)的資源是固定的牺弹,例如內(nèi)存2G,CPU固定时呀,磁盤2TB张漂,網(wǎng)絡(luò)接口固定。所以就需要操作系統(tǒng)對資源進(jìn)行有效的利用谨娜。假設(shè)某個(gè)應(yīng)用程序過分的訪問這些資源鹃锈,就會(huì)導(dǎo)致整個(gè)系統(tǒng)的資源被占用,如果不對這種行為進(jìn)行限制和區(qū)分瞧预,就會(huì)導(dǎo)致資源訪問的沖突屎债。所以仅政,Linux的設(shè)計(jì)的初衷:給不同的操作給與不同的“權(quán)限”。Linux操作系統(tǒng)就將權(quán)限等級分為了2個(gè)等級盆驹,分別就是內(nèi)核態(tài)和用戶態(tài)圆丹。

各位有沒有發(fā)現(xiàn),前面講了這么多內(nèi)核態(tài)和用戶態(tài)什么不同躯喇,其實(shí)用一句話就能概括:它們權(quán)限不同辫封。用戶態(tài)的進(jìn)程能夠訪問的資源受到了極大的控制,而運(yùn)行在內(nèi)核態(tài)的進(jìn)程可以“為所欲為”廉丽。

從用戶態(tài)到內(nèi)核態(tài)切換可以通過三種方式:

    1. 系統(tǒng)調(diào)用倦微,這個(gè)上面已經(jīng)講解過了,在我公眾號之前的文章也有講解過正压。其實(shí)系統(tǒng)調(diào)用本身就是中斷欣福,但是軟件中斷,跟硬中斷不同焦履。
    1. 異常:如果當(dāng)前進(jìn)程運(yùn)行在用戶態(tài)拓劝,如果這個(gè)時(shí)候發(fā)生了異常事件,就會(huì)觸發(fā)切換嘉裤。例如:缺頁異常郑临。
    1. 外設(shè)中斷:當(dāng)外設(shè)完成用戶的請求時(shí),會(huì)向CPU發(fā)送中斷信號屑宠。
    image-20200812202318020

cpu占用率

user(通诚岫矗縮寫為us),代表用戶態(tài)CPU時(shí)間典奉。注意躺翻,它包括下面的nice時(shí)間,但包括了guest時(shí)間秋柄。

nice(通郴裰Γ縮寫為ni)蠢正,代表低優(yōu)先級用戶態(tài)CPU時(shí)間骇笔,也就是進(jìn)程的nice值被調(diào)整為1-19之間是的CPU時(shí)間。

system(通诚福縮寫為sys)笨触,代表內(nèi)核態(tài)CPU時(shí)間

idle(通常縮寫為id)雹舀,代表空閑時(shí)間芦劣。注意,它不包括I/O等待時(shí)間(iowait

iowait(通乘涤埽縮寫為wa)虚吟,代表等待I/O的CPU時(shí)間寸认,cpu出于空閑且有未完成的I/O請求

irq(通常縮寫為hi)串慰,代表處理硬中斷的CPU時(shí)間

softirq(通称縮寫為si),代表處理軟中斷的CPU時(shí)間邦鲫,系統(tǒng)調(diào)用時(shí)發(fā)生軟中斷

steal(通尘牡穑縮寫為st),代表當(dāng)系統(tǒng)運(yùn)行在虛擬機(jī)中的時(shí)候庆捺,被其他虛擬機(jī)占用的CPU時(shí)間

guest(通彻沤瘢縮寫為guest),代表通過虛擬化運(yùn)行其他操作系統(tǒng)的時(shí)間滔以,也就是運(yùn)行虛擬機(jī)的CPU時(shí)間

理解:

sleep() wait()

Thread.sleep()或object.wait()后,都會(huì)釋放cpu資源

Thread.sleep()不會(huì)釋放占用的鎖

object.wait()會(huì)釋放占用的鎖

top使用

在top命令運(yùn)行過程中可以通過top的內(nèi)部命令做顯示方式的控制醉者。

1- 開啟或關(guān)閉顯示所有cpu使用詳細(xì)情況

l - 關(guān)閉或開啟第一部分第一行 top 信息的表示

t - 關(guān)閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示

m - 關(guān)閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示

N - 以 PID 的大小的順序排列表示進(jìn)程列表(第三部分后述)

P - 以 CPU 占用率大小的順序排列進(jìn)程列表 (第三部分后述)

M - 以內(nèi)存占用率大小的順序排列進(jìn)程列表 (第三部分后述)

h - 顯示幫助

n - 設(shè)置在進(jìn)程列表所顯示進(jìn)程的數(shù)量

q - 退出 top

s - 改變畫面更新頻率(輸入數(shù)字)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末但狭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子撬即,更是在濱河造成了極大的恐慌立磁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剥槐,死亡現(xiàn)場離奇詭異唱歧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)粒竖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門颅崩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蕊苗,你說我怎么就攤上這事沿后。” “怎么了朽砰?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵尖滚,是天一觀的道長。 經(jīng)常有香客問我瞧柔,道長漆弄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任造锅,我火速辦了婚禮撼唾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哥蔚。我一直安慰自己倒谷,他們只是感情好蛛蒙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渤愁,像睡著了一般宇驾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上猴伶,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天课舍,我揣著相機(jī)與錄音,去河邊找鬼他挎。 笑死筝尾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的办桨。 我是一名探鬼主播筹淫,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呢撞!你這毒婦竟也來了损姜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤殊霞,失蹤者是張志新(化名)和其女友劉穎摧阅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绷蹲,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棒卷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祝钢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比规。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拦英,靈堂內(nèi)的尸體忽然破棺而出蜒什,到底是詐尸還是另有隱情,我是刑警寧澤疤估,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布灾常,位于F島的核電站,受9級特大地震影響做裙,放射性物質(zhì)發(fā)生泄漏岗憋。R本人自食惡果不足惜肃晚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一锚贱、第九天 我趴在偏房一處隱蔽的房頂上張望跛梗。 院中可真熱鬧臣樱,春花似錦平匈、人聲如沸啄清。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凰盔。三九已至,卻和暖如春倦春,著一層夾襖步出監(jiān)牢的瞬間户敬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工睁本, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尿庐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓呢堰,卻偏偏與公主長得像抄瑟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子枉疼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Linux 作為一個(gè)多任務(wù)操作系統(tǒng)皮假,將每個(gè) CPU 的時(shí)間劃分為很短的時(shí)間片,再通過調(diào)度器輪流分配給各個(gè)任務(wù)使用骂维,...
    kar_joe閱讀 243評論 0 0
  • 通過/proc/stat計(jì)算CPU使用率介紹 linux通過/proc虛擬文件系統(tǒng)惹资,想用戶提供了系統(tǒng)內(nèi)部狀態(tài)信息,...
    崔天浩閱讀 1,101評論 0 0
  • Linux 作為一個(gè)多任務(wù)操作系統(tǒng)航闺,將每個(gè) CPU 的時(shí)間劃分為很短的時(shí)間片布轿,再通過調(diào)度器輪流分配給各個(gè)任務(wù)使用,...
    taj3991閱讀 403評論 0 0
  • 測試工具 ab(apache bench)是一個(gè)常用的 HTTP 服務(wù)性能測試工具安裝:sudo apt inst...
    張廣旭閱讀 1,776評論 0 0
  • 1.CPU各項(xiàng)指標(biāo) 可以從 /proc/stat中查看CPU的各項(xiàng)指標(biāo) /proc/stat提供的就是系統(tǒng)的 CP...
    白名琰閱讀 371評論 0 0