docker cgroup 資源監(jiān)控的詳解
docker cgroup 資源監(jiān)控的詳解
1.cgroup術(shù)語(yǔ)解析:
blkio: 這個(gè)subsystem可以為塊設(shè)備設(shè)定輸入/輸出限制,比如物理驅(qū)動(dòng)設(shè)備(包括磁盤、固態(tài)硬盤、USB等)。
cpu: 這個(gè)subsystem使用調(diào)度程序控制task對(duì)CPU的使用。
cpuacct: 這個(gè)subsystem自動(dòng)生成cgroup中task對(duì)CPU資源使用情況的報(bào)告。
cpuset: 這個(gè)subsystem可以為cgroup中的task分配獨(dú)立的CPU(此處針對(duì)多處理器系統(tǒng))和內(nèi)存。
devices 這個(gè)subsystem可以開啟或關(guān)閉cgroup中task對(duì)設(shè)備的訪問(wèn)。
freezer 這個(gè)subsystem可以掛起或恢復(fù)cgroup中的task。
memory 這個(gè)subsystem可以設(shè)定cgroup中task對(duì)內(nèi)存使用量的限定,并且自動(dòng)生成這些task對(duì)內(nèi)存資源使用情況的報(bào)告。
perfevent 這個(gè)subsystem使用后使得cgroup中的task可以進(jìn)行統(tǒng)一的性能測(cè)試。{![perf: Linux CPU性能探測(cè)器,詳見https://perf.wiki.kernel.org/index.php/MainPage]}
*net_cls 這個(gè)subsystem Docker沒(méi)有直接使用,它通過(guò)使用等級(jí)識(shí)別符(classid)標(biāo)記網(wǎng)絡(luò)數(shù)據(jù)包,從而允許 Linux 流量控制程序(TC:Traffic Controller)識(shí)別從具體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:?jiǎn)挝患{秒
/sys/fs/cgroup/cpuacct/docker/應(yīng)用ID/cpuacct.usage
系統(tǒng)當(dāng)前cpu:
$ cat /proc/stat | grep 'cpu '(周期/時(shí)間片/jiffies) #得到的數(shù)字相加/HZ(cat /boot/config-`uname -r` | grep '^CONFIG_HZ=' ubuntu 14.04為250)就是系統(tǒng)時(shí)間(秒) #再乘以10*9就是系統(tǒng)時(shí)間(納秒)
例子
[~]$ 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每行的每個(gè)參數(shù)意思(以第一行為例)為: 參數(shù) 解釋 user (432661) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,用戶態(tài)的CPU時(shí)間(單位:jiffies) ,不包含 nice值為負(fù)進(jìn)程。 nice (13295) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,nice值為負(fù)的進(jìn)程所占用的CPU時(shí)間(單位:jiffies) system (86656) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,核心時(shí)間(單位:jiffies) idle (422145968) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,除硬盤IO等待時(shí)間以外其它等待時(shí)間(單位:jiffies) iowait (171474) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,硬盤IO等待時(shí)間(單位:jiffies) , irq (233) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,硬中斷時(shí)間(單位:jiffies) softirq (5346) 從系統(tǒng)啟動(dòng)開始累計(jì)到當(dāng)前時(shí)刻,軟中斷時(shí)間(單位:jiffies)
cpu使用率: (已使用2-已使用1)/(系統(tǒng)當(dāng)前2-系統(tǒng)當(dāng)前1)*100%
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
CentOS 7下設(shè)置Docker代理(Linux下Systemd服務(wù)的環(huán)境變量配置)
本文給大家分享Linux下Systemd服務(wù)的環(huán)境變量配置方法,此示例將覆蓋默認(rèn)docker.service文件,對(duì)CentOS 7下設(shè)置Docker代理的相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2021-05-05
通過(guò)Docker?Compose部署MySQL的詳細(xì)教程
Docker?Compose?作為?Docker?官方的容器編排工具,為?MySQL?數(shù)據(jù)庫(kù)部署帶來(lái)了顯著優(yōu)勢(shì),下面小編就來(lái)為大家詳細(xì)介紹一下具體的流程吧2025-03-03
Docker鏡像制作與倉(cāng)庫(kù)搭建過(guò)程
這篇文章主要介紹了Docker鏡像制作與倉(cāng)庫(kù)搭建過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
docker中nacos無(wú)法訪問(wèn)的問(wèn)題解決
本文主要介紹了docker中nacos無(wú)法訪問(wèn)的問(wèn)題解決,可能是檢查端口映射設(shè)置、防火墻設(shè)置以及Nacos容器的運(yùn)行狀態(tài)等方面,本文就來(lái)實(shí)現(xiàn)docker中nacos無(wú)法訪問(wèn)的問(wèn)題解決,感興趣的可以了解一下2024-02-02
Docker-compose一鍵部署gitlab中文版的方法步驟
這篇文章主要介紹了Docker-compose一鍵部署gitlab中文版的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
docker-compose中啟動(dòng)鏡像失敗的幾種解決方法
本文主要介紹了docker-compose中啟動(dòng)鏡像失敗的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
docker容器源碼部署httpd用存儲(chǔ)卷部署網(wǎng)站(推薦)
這篇文章主要介紹了docker容器源碼部署httpd用存儲(chǔ)卷部署網(wǎng)站,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
docker搭建nacos1.3.0的實(shí)現(xiàn)
這篇文章主要介紹了docker搭建nacos1.3.0的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
使用phpstorm對(duì)docker中的腳本進(jìn)行debug的方法
這篇文章主要介紹了使用phpstorm對(duì)docker中的腳本進(jìn)行debug的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
多云環(huán)境下的Docker部署策略實(shí)現(xiàn)
在多云環(huán)境下,Docker容器技術(shù)為應(yīng)用程序的部署提供了高度的靈活性和可擴(kuò)展性,本文就來(lái)介紹一下多云環(huán)境下的Docker部署策略實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01

