![如何限制特定用户或进程的 RAM 使用量?](https://linux22.com/image/1221109/%E5%A6%82%E4%BD%95%E9%99%90%E5%88%B6%E7%89%B9%E5%AE%9A%E7%94%A8%E6%88%B7%E6%88%96%E8%BF%9B%E7%A8%8B%E7%9A%84%20RAM%20%E4%BD%BF%E7%94%A8%E9%87%8F%EF%BC%9F.png)
我正在使用后台服务,有时会泄漏内存。为了防止使用Alt+ SysRq REISUB[1],我想限制一个进程或系统用户的 RAM 使用量。
我真的很想说:用户 x 可以使用最大 1 GB 的 RAM。
这可行吗?我需要某种虚拟机吗?我正在使用 Ubuntu 9.10。
答案1
限制是你的朋友。查看 -m 标志。我思考您在启动进程之前进行设置,它从那时起就适用(在当前 shell 中)。
答案2
除了 shell 命令ulimit
(对于 bash)或limit
(对于 csh)之外,您还可以使用函数从代码内部进行控制ulimit()
。