在 CentOS 系统中,你可以使用 ulimit
命令来限制进程的内存使用量。ulimit
是一个 shell 内置命令,用于控制 shell 进程及其子进程的资源限制。以下是如何使用 ulimit
来限制进程内存使用量的步骤:
临时限制: 你可以在当前 shell 会话中临时设置内存限制。例如,要限制内存使用量为 512 MB,可以使用以下命令:
ulimit -v 524288
这里的 524288
是 512 MB 的千字节数(因为 1 MB = 1024 KB,1 KB = 1024 字节)。
永久限制:
如果你想让这个限制在系统重启后仍然有效,可以将其添加到用户的 shell 配置文件中,例如 .bashrc
或 .bash_profile
。
打开文件:
nano ~/.bashrc
然后在文件末尾添加以下行:
ulimit -v 524288
保存并关闭文件,然后重新加载配置文件:
source ~/.bashrc
系统级限制:
如果你想对所有用户设置内存限制,可以编辑 /etc/security/limits.conf
文件。
打开文件:
sudo nano /etc/security/limits.conf
添加以下行来限制特定用户的内存使用量:
username soft as 524288
username hard as 524288
这里的 username
是你要限制的用户名,as
表示地址空间(内存)限制。
PAM 配置:
如果你想让这些限制对所有新启动的会话生效,可以编辑 /etc/pam.d/common-session
和 /etc/pam.d/common-session-noninteractive
文件。
打开文件:
sudo nano /etc/pam.d/common-session
添加以下行:
session required pam_limits.so
然后打开 /etc/pam.d/common-session-noninteractive
文件并添加相同的行:
sudo nano /etc/pam.d/common-session-noninteractive
添加相同的行:
session required pam_limits.so
通过这些步骤,你可以有效地限制 CentOS 系统中进程的内存使用量。