ulimit 是一個用于控制 shell 啟動進程的資源限制的命令。通過設置不同的資源限制,可以優化 Linux 系統的性能。以下是一些使用 ulimit 優化 Linux 系統性能的方法:
限制進程數:
ulimit -u <number> 命令可以限制單個用戶可以同時運行的進程數。這有助于防止系統過載,特別是在多用戶環境中。ulimit -u 1024。限制文件描述符數:
ulimit -n <number> 命令可以限制每個進程可以打開的文件描述符數量。ulimit -n 4096。限制內存使用:
ulimit -v <number> 命令可以限制進程可以使用的虛擬內存大小。ulimit -v 2147483648。限制 CPU 時間:
ulimit -t <seconds> 命令可以限制進程可以使用的 CPU 時間。ulimit -t 3600。限制堆棧大小:
ulimit -s <size> 命令可以限制進程的堆棧大小。ulimit -s 8192。限制核心轉儲文件大小:
ulimit -c <size> 命令可以限制核心轉儲文件的大小。ulimit -c 100M。默認情況下,ulimit 設置的是針對單個用戶的限制。如果需要設置全局資源限制,可以編輯 /etc/security/limits.conf 文件。例如:
* soft nproc 1024
* hard nproc 2048
* soft nofile 4096
* hard nofile 8192
上述配置將所有用戶的進程數限制為最多 1024 個,最多可以打開 4096 個文件描述符。
ulimit 設置后,需要重新登錄或重啟相關服務才能生效。通過合理使用 ulimit,可以有效地管理和優化 Linux 系統的資源使用,從而提升系統性能。