![](/img/trans.png)
[英]How to get Current and accurate Memory Usage of k8s Pod running Node JS application
[英]Is there a way to log Kubernetes Pod memory usage, in a container running an application built on Node.js
我有一个 Kubernetes 吊舱,它关闭并自行重新启动,因为它超出了 memory。 有多个子进程异步运行并使用 memory。 我希望他们每个人都记录在 Kubernetes 吊舱上可用/使用了多少 memory。 日志应该与其他 Node js 日志一起。
我知道process.memoryUsage()
, os.totalmem()
, os.freemem()
其中分别提供以下output
{"ts":"2021-04-21T10:52:50.299Z","msg":"Node Memory Stats:{\"rss\":125792256,\"heapTotal\":94720000,\"heapUsed\":48927816,\"external\":1668086}","logger":"___","level":"info"}
{"ts":"2021-04-21T10:52:50.300Z","msg":"OS/POD Total Memory:17179869184, OS/POD Free memory:87195648","logger":"___","level":"info"}
我想知道是否有任何方法可以对 pod 进行系统调用、获取其资源并登录 Node?
您可以简单地检查/sys/fs/cgroup/cpu/
和/sys/fs/cgroup/memory/
的值:
对于当前的CPU使用情况,请执行
$ cat /sys/fs/cgroup/cpu/cpuacct.usage
对于当前的memory用法做一个
$ cat /sys/fs/cgroup/memory/memory.usage_in_bytes
提示:确保您已将资源部分(请求和限制)添加到部署中,以便它可以根据 cgroup 计算使用情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.