有没有办法设置 Debian 中守护进程可获得的 RAM 使用量(虚拟和常驻)的限制?我知道这ulimit
不适用于此处,但正确的设置/etc/security/limits.conf
可能就是答案。
我最好找一个具体的例子。比如,将 BIND 的虚拟内存限制为 30MB,常驻内存限制为 10MB(不管这是否是一个坏主意)。此设置应在该守护进程生成的所有进程使用的 RAM 上强制执行。
答案1
您可以限制程序使用的最大内存,但如果程序需要更多内存,大多数程序都会中止/崩溃/等等。
因此,您必须配置 bind 以限制其内存使用量。
主要选项是max-cache-size
(查看 bind 的配置文件,一般进入/etc/bind/named.conf
)。例如,如果您不知道自己在做什么,max-cache-size 10M
请不要使用。datasize
答案2
你不会想这么做。虚拟内存不是稀缺资源,因此限制它毫无意义。限制程序的常驻内存只会使整个系统变得缓慢,因为它需要更多的 I/O。