溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

docker中cgroup資源監(jiān)控的示例分析

發(fā)布時間:2021-08-21 09:13:55 來源:億速云 閱讀:153 作者:小新 欄目:服務(wù)器

小編給大家分享一下docker中cgroup資源監(jiān)控的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.cgroup術(shù)語解析:

blkio: 這個subsystem可以為塊設(shè)備設(shè)定輸入/輸出限制,比如物理驅(qū)動設(shè)備(包括磁盤、固態(tài)硬盤、USB等)。
cpu: 這個subsystem使用調(diào)度程序控制task對CPU的使用。
cpuacct: 這個subsystem自動生成cgroup中task對CPU資源使用情況的報告。
cpuset: 這個subsystem可以為cgroup中的task分配獨立的CPU(此處針對多處理器系統(tǒng))和內(nèi)存。
devices 這個subsystem可以開啟或關(guān)閉cgroup中task對設(shè)備的訪問。
freezer 這個subsystem可以掛起或恢復cgroup中的task。
memory 這個subsystem可以設(shè)定cgroup中task對內(nèi)存使用量的限定,并且自動生成這些task對內(nèi)存資源使用情況的報告。
perfevent 這個subsystem使用后使得cgroup中的task可以進行統(tǒng)一的性能測試。{![perf: Linux CPU性能探測器,詳見https://perf.wiki.kernel.org/index.php/MainPage]}
*net_cls 這個subsystem Docker沒有直接使用,它通過使用等級識別符(classid)標記網(wǎng)絡(luò)數(shù)據(jù)包,從而允許 Linux 流量控制程序(TC:Traffic Controller)識別從具體cgroup中生成的數(shù)據(jù)包。

2.資源監(jiān)控的關(guān)鍵目錄:cat讀出

已使用內(nèi)存:

/sys/fs/cgroup/memory/docker/應(yīng)用ID/memory.usage_in_bytes

分配的總內(nèi)存:

/sys/fs/cgroup/memory/docker/應(yīng)用ID/memory.limit_in_bytes

已使用的cpu:單位納秒

/sys/fs/cgroup/cpuacct/docker/應(yīng)用ID/cpuacct.usage

系統(tǒng)當前cpu:

$ cat /proc/stat | grep 'cpu '(周期/時間片/jiffies)
#得到的數(shù)字相加/HZ(cat /boot/config-`uname -r` | grep '^CONFIG_HZ='
ubuntu 14.04為250)就是系統(tǒng)時間(秒)
#再乘以10*9就是系統(tǒng)時間(納秒)

例子

[~]$ cat /proc/stat
cpu 432661 13295 86656 422145968 171474 233 5346
cpu0 123075 2462 23494 105543694 16586 0 4615
cpu1 111917 4124 23858 105503820 69697 123 371
cpu2 103164 3554 21530 105521167 64032 106 334
cpu3 94504 3153 17772 105577285 21158 4 24
intr 1065711094 1057275779 92 0 6 6 0 4 0 3527 0 0 0 70 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
ctxt 19067887
btime 1139187531
processes 270014
procs_running 1
procs_blocked 0


輸出解釋
CPU 以及CPU0、CPU1、CPU2、CPU3每行的每個參數(shù)意思(以第一行為例)為:
參數(shù) 解釋
user (432661) 從系統(tǒng)啟動開始累計到當前時刻,用戶態(tài)的CPU時間(單位:jiffies) ,不包含 nice值為負進程。
nice (13295) 從系統(tǒng)啟動開始累計到當前時刻,nice值為負的進程所占用的CPU時間(單位:jiffies) 
system (86656) 從系統(tǒng)啟動開始累計到當前時刻,核心時間(單位:jiffies) 
idle (422145968) 從系統(tǒng)啟動開始累計到當前時刻,除硬盤IO等待時間以外其它等待時間(單位:jiffies) 
iowait (171474) 從系統(tǒng)啟動開始累計到當前時刻,硬盤IO等待時間(單位:jiffies) ,
irq (233) 從系統(tǒng)啟動開始累計到當前時刻,硬中斷時間(單位:jiffies) 
softirq (5346) 從系統(tǒng)啟動開始累計到當前時刻,軟中斷時間(單位:jiffies)

cpu使用率: (已使用2-已使用1)/(系統(tǒng)當前2-系統(tǒng)當前1)*100%

以上是“docker中cgroup資源監(jiān)控的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI