Control Groups in the Linux Kernel

Control Groups (簡稱 cgroups)是 Linux Kernel的一個功能。會開始注意到它是因為上次在研究 Linux Network Namespace 時第一次看到這個名詞。簡單來說,在 Linux Kernel 裏面,對資源的分配採用了 group 的概念,每一個 process 都會屬於某個 group,而每個 group 之間資源是彼此獨立的(isolation),並且也可以針對每個 group 進行資源限制以及計費。看到上面的描述大概就知道它要幹嘛了吧 ... 恩,這個計劃的初始提案人是 Google ... 完全不讓人意外。

在每個 group 裏面,Linux Kernel 提供了各種 Namespace 來進行資源的獨立:
  • PID namespace
  • Network namespace
  • UTS namespace
  • Mount namespace
  • IPC namespace
  • User namespace
因為並沒有深入研究,所以就不寫太多了。但可以從 docker 的專案看到,這樣的設計有什麼好處。

留言

這個網誌中的熱門文章

如何將Linux打造成OpenFlow Switch:Openvswitch

我弟家的新居感恩禮拜分享:善頌善禱

Linux Virtual Interface: TUN/TAP