如何在 kubernetes 中管理 node.js pod 的内存?

编程入门 行业动态 更新时间:2024-10-05 11:20:28

如何在 kubernetes 中管理 node.js pod 的<a href=https://www.elefans.com/category/jswz/34/1770851.html style=内存?"/>

如何在 kubernetes 中管理 node.js pod 的内存?

我正在使用 kubernetes,我的应用程序是 node.js + express + winston + josdejong/workerpool + puppeteer。

平均而言,在 6 小时内,我使用 winston 将 10k 日志写入文件,将超过 100k 日志写入控制台。

当我在吊舱内呼叫

cat /sys/fs/cgroup/memory/memory.stat
时,

cache 20303872
rss 2358034432
rss_huge 0
shmem 0
mapped_file 2703360
dirty 270336
writeback 270336
pgpgin 163158402
pgpgout 162577731
pgfault 200181927
pgmajfault 529122
inactive_anon 0
active_anon 2358292480
inactive_file 4874240

并检查结果。

node.js 6小时的堆内存日志如下

{ 'timestamp': '2023-05-16 07:50:00.003', 'message': 'Memory {"nodeHeapTotalMemory":"38.21 MB", "nodeHeapUsedMemory":"33.64 MB"}' }
{ 'timestamp': '2023-05-16 07:55:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"38.46 MB", "nodeHeapUsedMemory":"29.53 MB"}' }
{ 'timestamp': '2023-05-16 08:00:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"38.46 MB", "nodeHeapUsedMemory":"33.15 MB"}' }
{ 'timestamp': '2023-05-16 08:05:00.003', 'message': 'Memory {"nodeHeapTotalMemory":"38.21 MB", "nodeHeapUsedMemory":"28.1 MB"}' }
{ 'timestamp': '2023-05-16 08:10:00.002', 'message': 'Memory {"nodeHeapTotalMemory":"38.21 MB", "nodeHeapUsedMemory":"31.68 MB"}' }
{ 'timestamp': '2023-05-16 08:15:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"39.46 MB", "nodeHeapUsedMemory":"36.25 MB"}' }
{ 'timestamp': '2023-05-16 08:20:00.003', 'message': 'Memory {"nodeHeapTotalMemory":"37.46 MB", "nodeHeapUsedMemory":"33.05 MB"}' }
{ 'timestamp': '2023-05-16 08:25:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"38.46 MB", "nodeHeapUsedMemory":"31.16 MB"}' }
{ 'timestamp': '2023-05-16 08:30:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"39.46 MB", "nodeHeapUsedMemory":"29.84 MB"}' }
{ 'timestamp': '2023-05-16 08:35:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"39.21 MB", "nodeHeapUsedMemory":"29.52 MB"}' }
{ 'timestamp': '2023-05-16 08:40:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"38.21 MB", "nodeHeapUsedMemory":"34.59 MB"}' }
{ 'timestamp': '2023-05-16 08:45:00.010', 'message': 'Memory {"nodeHeapTotalMemory":"38.96 MB", "nodeHeapUsedMemory":"32.36 MB"}' }
{ 'timestamp': '2023-05-16 08:50:00.003', 'message': 'Memory {"nodeHeapTotalMemory":"38.71 MB", "nodeHeapUsedMemory":"30.11 MB"}' }
{ 'timestamp': '2023-05-16 08:55:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"39.21 MB", "nodeHeapUsedMemory":"29.34 MB"}' }
{ 'timestamp': '2023-05-16 09:00:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"39.21 MB", "nodeHeapUsedMemory":"34.64 MB"}' }
{ 'timestamp': '2023-05-16 09:05:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"39.46 MB", "nodeHeapUsedMemory":"27.51 MB"}' }
{ 'timestamp': '2023-05-16 09:10:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"37.71 MB", "nodeHeapUsedMemory":"29.99 MB"}' }
{ 'timestamp': '2023-05-16 09:20:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"37.71 MB", "nodeHeapUsedMemory":"33.46 MB"}' }
{ 'timestamp': '2023-05-16 09:25:00.008', 'message': 'Memory {"nodeHeapTotalMemory":"37.71 MB", "nodeHeapUsedMemory":"28.43 MB"}' }
{ 'timestamp': '2023-05-16 09:30:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"37.71 MB", "nodeHeapUsedMemory":"30.31 MB"}' }
{ 'timestamp': '2023-05-16 09:35:00.004', 'message': 'Memory {"nodeHeapTotalMemory":"37.71 MB", "nodeHeapUsedMemory":"33.08 MB"}' }
{ 'timestamp': '2023-05-16 09:40:00.002', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"28.2 MB"}' }
{ 'timestamp': '2023-05-16 09:45:00.003', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"30.01 MB"}' }
{ 'timestamp': '2023-05-16 09:50:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"32.03 MB"}' }
{ 'timestamp': '2023-05-16 09:55:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"26.83 MB"}' }
{ 'timestamp': '2023-05-16 10:00:00.005', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"28.78 MB"}' }
{ 'timestamp': '2023-05-16 10:05:00.006', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"30.67 MB"}' }
{ 'timestamp': '2023-05-16 10:10:00.007', 'message': 'Memory {"nodeHeapTotalMemory":"37.21 MB", "nodeHeapUsedMemory":"32.72 MB"}' }

这是在pod(**-sts-4)上运行

top
的结果

grafana 图看起来像这样

堆内存似乎在正常范围内,但我无法弄清楚为什么 memory.stat 中的

active_anon
条目如此之高。

回答如下:

更多推荐

如何在 kubernetes 中管理 node.js pod 的内存?

本文发布于:2024-05-31 01:54:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771154.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:内存   如何在   kubernetes   node   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!