Documentation/cgroups/cpuacct.txt
kernel 付属文書の cgroups/cpuacct.txt を訳してみました.誤訳がある可能性はかなり大きいです.
CPU Accounting Controller ------------------------- CPU アカウンティングコントローラは,cgroup を使ったタスクのグループ化 と,これらのタスクの CPU 使用率のアカウンティングを行います. CPU アカウンティングコントローラは,複数の階層構造のグループをサポート します.アカウンティンググループは,自分のグループの子供の全てと,グルー プの直接のタスクの全ての CPU 消費を累積します. アカウンティンググループは,まず最初に cgroup ファイルシステムをマウン トすることで作ることができます. # mkdir /cgroups # mount -t cgroup -ocpuacct none /cgroups 上記の手順で,初期の親アカウンティンググループは /cgroups として見えま す. # cd /cgroups # mkdir g1 # echo $$ > g1 上記の手順は,新しいグループ g1 を作成し,現在のシェルプロセス (bash) をその中に入れています.この bash と子プロセスが消費する CPU 時間は g1/cpuacct.usage から取得出来ます.同じものが /cgroups/cpuacct.usage からも得られます. cpuacct.stat ファイルは,cgroup から得られた CPU 時間をさらにユーザお よびシステム時間に分割した統計情報を表示します.現在では,以下の統計情 報が表示されます. user: cgroup のタスクが消費したユーザ時間 system: cgroup のタスクが消費したシステム時間 user と system は USER_HZ が単位です. cpuacct コントローラはユーザとシステム時間の収集に percpu_counter イン ターフェースを使用します.これには二つの側面があります. - 理論的には,ユーザとシステム時間に対して間違った値を示す可能性があり ます.これは,32bit システムで percpu_counter_read() は同時書き込み に対する安全性がないためです. - ユーザとシステム時間が若干古い情報である可能性があります.これは percpu_counter がバッチ処理のためです.