【发布时间】:2021-03-02 05:49:15
【问题描述】:
我正在我的服务器上运行一个 dockerised node.js 应用程序,使用 --max-old-space-size 选项来限制应用程序堆大小。以下输出由 htop 给出:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
10158 root 20 0 4284 720 644 S 0.0 0.0 0:00.00 sh -c node --max-old-space-size=512 ./dist/www.js
10159 root 20 0 1841M 929M 29592 S 0.0 3.0 1h31:16 node --max-old-space-size=512 ./dist/www.js
10160 root 20 0 1841M 929M 29592 S 0.0 3.0 0:00.00 node --max-old-space-size=512 ./dist/www.js
10161 root 20 0 1841M 929M 29592 S 0.0 3.0 7:27.13 node --max-old-space-size=512 ./dist/www.js
10162 root 20 0 1841M 929M 29592 S 0.0 3.0 7:26.96 node --max-old-space-size=512 ./dist/www.js
10163 root 20 0 1841M 929M 29592 S 0.0 3.0 7:26.99 node --max-old-space-size=512 ./dist/www.js
10164 root 20 0 1841M 929M 29592 S 0.0 3.0 7:26.64 node --max-old-space-size=512 ./dist/www.js
您可以看到我的应用程序常驻内存 (929M) 远高于我的 max-old-space-size 值 (512MB) 那么为什么会出现这种情况?此时应用程序不应该中止吗?
系统信息
Docker version: 19.03.5
node image version: 11.13.0
uname -v
#31~18.04.1-Ubuntu SMP Tue Nov 17 10:48:34 UTC 2020
【问题讨论】:
标签: node.js docker ubuntu memory-management v8