centos

CentOS ulimit如何限制进程内存使用量

小樊
38
2025-06-12 10:53:20
栏目: 智能运维

在 CentOS 系统中,你可以使用 ulimit 命令来限制进程的内存使用量。ulimit 是一个 shell 内置命令,用于控制 shell 进程及其子进程的资源限制。以下是如何使用 ulimit 来限制进程内存使用量的步骤:

  1. 临时限制: 你可以在当前 shell 会话中临时设置内存限制。例如,要限制内存使用量为 512 MB,可以使用以下命令:

    ulimit -v 524288
    

    这里的 524288 是 512 MB 的千字节数(因为 1 MB = 1024 KB,1 KB = 1024 字节)。

  2. 永久限制: 如果你想让这个限制在系统重启后仍然有效,可以将其添加到用户的 shell 配置文件中,例如 .bashrc.bash_profile

    打开文件:

    nano ~/.bashrc
    

    然后在文件末尾添加以下行:

    ulimit -v 524288
    

    保存并关闭文件,然后重新加载配置文件:

    source ~/.bashrc
    
  3. 系统级限制: 如果你想对所有用户设置内存限制,可以编辑 /etc/security/limits.conf 文件。

    打开文件:

    sudo nano /etc/security/limits.conf
    

    添加以下行来限制特定用户的内存使用量:

    username soft as 524288
    username hard as 524288
    

    这里的 username 是你要限制的用户名,as 表示地址空间(内存)限制。

  4. 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 系统中进程的内存使用量。

0
看了该问题的人还看了