使用 systemd-run 限制进程内存使用未按预期工作

使用 systemd-run 限制进程内存使用未按预期工作

我试图通过以下方式启动 systemd-run 来限制 Chrome 的内存使用:

systemd-run --scope \
  -p MemoryMax=16G \
  -p MemoryHigh=15G \
  -p CPUWeight=70 \
  -p StartupCPUWeight=100 \
  /opt/google/chrome/chrome

然而这似乎并没有真正起作用,因为我可以看到它填满了我所有的 32GB 内存并导致我的系统崩溃。在我看来,Systemd 并没有注册所有实际使用的内存。有谁知道这里可能缺少什么以及如何限制它?这是在 Ubuntu 22.04.3 LTS 上。

屏幕截图,其中包含 systemd status 与 top 的输出

任何提示都非常感激。

编辑:似乎我在顶部结果中查看了错误的列,因此我的怀疑方向错误。实际的瓶颈一定是另一个进程,而 systemd-run 正在完成它的工作。感谢@marcus-müller 的见解。

答案1

这只是虚拟内存,而不是实际分配的内存;事情似乎进展顺利。

相关内容