memory - Kubernetes Pod 内存使用情况分割

标签 memory kubernetes monitoring kubectl kubernetes-pod

我正在尝试详细了解在 Kubernetes 上运行的 Pod 的内存使用情况。我可以通过 kubectl top pod 查看 pod 的内存使用情况,但我需要的是内存使用位置的全面分割。

我的容器可能会下载新文件或将新文件写入磁盘,因此我想查看在某个时刻每个文件使用了多少已用内存以及运行的软件使用了多少内存。 目前,没有真正的磁盘,只有 TempFS,所以这意味着每个文件都在消耗分配的内存资源,只要我可以检查并知道有多少内存在哪里,就可以了。

找不到类似的东西,似乎cAdvisor有助于获取内存静态信息,但它只使用docker/cgroups,它没有给出详细信息,因为我已描述。

最佳答案

更好的解决方案是安装指标服务器和 Prometheus和 Grafana 在您的集群中。 Prometheus 将抓取 Grafana 可以用来显示为图表的指标。这可能有用。

如果你想要容器内的进程消耗,你可以进入容器并监控进程。

$ docker exec -it <container-name> watch ps -aux

此外,您还可以查看docker stats .

以下 Linux 命令将总结目录的大小:

$ du -h

关于memory - Kubernetes Pod 内存使用情况分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58219740/

相关文章:

sql-server - kubernetes : an error occurred during the pre-login handshake 上的 SQL Server

laravel - 在 Kubernetes 中部署 Laravel

kubernetes - 验证数据时出错:ValidationError(Deployment.spec.template.spec.volumes [0]):io.k8s.api.core.v1.Volume中的未知字段 “hostAliases”

usb - 如何让电脑闪灯

javascript - Pm2 仪表板不显示应用程序日志

Haskell http-conduit web-scraping daemon 崩溃并出现内存不足错误

java - 为什么 Java 内存映射缓冲区会导致大量意外磁盘 IO?

c++ - 将两个字节变为短字节时堆损坏。 C++

docker - Docker 容器内的 Sensu-Client

java - 以编程方式获取android设备的所有RAM内存,而不仅仅是分配给用户进程的内容