Linux CGroup (Control Group)
在擁有多個獨立的namespace之後,如何有效的分配既有的資源,就成了另一個課題。這些都是交由Linux kernel的CGroup功能負責,限制、控制、分離Control Group的資源(包括:CPU, Memory, I/O等等)。CGroup主要的功能有
限制資源上限
優先權決定
計算資源使用情況
將process group掛起或恢復

查看/sys/fs/cgroup底下有哪些項目
當Docker建立一個容器時,會在cgroup底下建立資料夾,我在本機擁有一個portainer容器,容器ID為64577c13ad5842d3183b14f7d082b38aa8ba463aa51d2d7f9afe0179720227b1,那麼在cgroup底下我可以找到這個容器ID的資料夾,裡面列出對各項資源的限制及統計,包括memory, cpu等等
tasks顯示了64577容器內的process有哪些
利用top查詢目前各process佔用資源的情況
PID=2550佔用主機26.7%的記憶體,先查看看他是屬於哪一個容器的task,再用容器id回查容器狀態
也可利用docker stats查看各容器目前使用資源的情況
Last updated
Was this helpful?