推薦一款超實用的查看容器系統資源真實使用情況的工具 topic

容器通過 cgroups 和 namespace 實現了資源的輕量級隔離和限制,但容器中的 /proc 文件實際上是宿主機的,因此在執行 top 命令查看容器運行信息時,部分指標顯示不正確,例如啓動時間、用戶數、平均負載、cpu 使用率、內存使用率。

目前比較通用的解決方案是通過 lxcfs,將容器中相應的文件通過 fuse 劫持 read 調用,在打開時顯示爲容器信息,從而統一解決各種系統狀態診斷工具的問題。

考慮到部署 lxcfs 有一定的成本,topic(top in container) 的思路則是改造 top 命令,去適配容器,讀取容器中反映真實運行情況的系統文件,從而展示正確的容器運行信息,對於用戶而言成本更低。

如下,在一個 1C 和 1Gi 的容器中運行 stress --cpu 2,通過 topic 和 top 查看容器的運行狀態:

topic

top

可以看到,topic 比較好的解決了容器運行信息的問題:

如果你需要使用,可以通過下面地址下載 topic 到容器中運行(記得加上執行權限)。

  1. 下載地址:https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/topic/topic

  2. 項目地址:https://github.com/silenceshell/topic

本文轉載自:「 Zlatan Eevee 」,原文:https://tinyurl.com/rxdb5n72 ,版權歸原作者所有。歡迎投稿,投稿郵箱: editor@hi-linux.com。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/B5yD5XXyWHfVEdeXgnbL8Q