我正在尝试对在Kubernetes上运行的Pod的内存使用情况进行细分。我可以通过kubectl top pod
来查看Pod的内存使用情况,但我需要对使用内存的位置进行全面的细分。
我的容器可能会下载新文件或将新文件写入磁盘,因此我想在某个时刻查看每个文件使用了多少内存以及正在运行的软件使用了多少内存。 当前,没有真正的磁盘,只有TempFS,所以这意味着每个文件都在消耗分配的内存资源,只要我能检查并知道多少内存就可以了。
找不到类似的东西,看来cAdvisor
有助于获取内存静态信息,但它仅使用docker/cgroups
,没有像我所描述的那样细分。
答案 0 :(得分:1)
更好的解决方案是在群集中安装指标服务器以及Prometheus和Grafana。 Prometheus将废弃Grafana可以将其用作图形显示的指标。这可能很有用。
如果您希望容器中的进程消耗大量资源,则可以进入容器并监视进程。
$ docker exec -it <container-name> watch ps -aux
此外,您可以选中docker stats。
以下Linux命令将汇总目录的大小:
$ du -h