概要 dockerで動かしているサーバのCPU負荷を計測しようとして、「docker上のサーバからtopとかで見れるんでしょ?」って思ってたら実はそれで取得できるのはホストサーバの負荷だったということでじゃあどないすんねんっていうお話 方法 コンテナごとにcpuやらメモリやらのメトリクスがファイルに出力されているのでその情報をもとにしてCPU負荷を算出する。 cpu使用時間 (動作確認環境では100ミリ秒というよくわからない単位に・・) $ cat /pathto/cgroup/lxc/$container/cpuacct.stat user 163 system 137 サーバ稼働時間(ナノ秒) $ cat /pathto/cgroup/lxc/$container/cpuacct.usage 10130485311 これらそれぞれの差分を割り算することで単位時間あたりのCPU負荷を計算