ulimit 是一個用于控制 shell 進程資源使用的命令行工具。在 CentOS 系統中,它可以用來限制用戶進程的資源使用,例如文件描述符數量、進程數等。以下是 ulimit 命令的詳細解釋:
ulimit [選項] [資源限制]
-a:顯示當前所有資源限制。-c:設置核心文件(core dump)的最大大小。-d:設置進程的數據段最大大小。-f:設置單個進程可以打開的最大文件描述符數量。-H:設置硬資源限制(hard limit),即不可更改的限制。-m:設置進程可以使用的內存最大值。-n:設置單個進程可以打開的最大文件描述符數量(與 -f 相同)。-p:設置管道緩沖區的最大大小。-s:設置棧的最大大小。-t:設置進程可以使用的最大 CPU 時間。-u:設置用戶可以創建的最大進程數。-v:設置進程可以使用的虛擬內存最大值。-x:設置單個進程可以使用的最大鎖數量。資源限制參數可以是數字,也可以是 unlimited(表示無限制)。例如:
ulimit -n 1024 # 設置單個進程可以打開的最大文件描述符數量為 1024
ulimit -m unlimited # 設置進程可以使用的內存無限制
ulimit -a
ulimit -n 2048
ulimit -u 512
ulimit -v 2147483648
ulimit 命令設置的資源限制僅對當前 shell 會話有效。要永久更改資源限制,需要修改 /etc/security/limits.conf 文件。sudo 命令以 root 用戶身份運行 ulimit 命令來更改其他用戶的資源限制。總之,ulimit 是一個非常有用的命令行工具,可以幫助你控制 shell 進程的資源使用,從而提高系統的穩定性和性能。