溫馨提示×

CentOS ulimit如何限制進程內存使用量

小樊
47
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女