ulimit
是一個用于控制 shell 進程資源限制的命令行工具。它可以用來查看和設置用戶進程的資源限制,例如文件描述符數量、進程數等。以下是一些常用的 ulimit
命令行參數及其解析:
-a
:顯示所有當前資源限制。
-c <core 文件大小>
:設置核心轉儲文件(core dump)的最大大小。如果設置為 0,則禁止生成核心轉儲文件。
-d <數據段大小>
:設置數據段的最大大?。ㄒ?KB 為單位)。
-f <文件大小>
:設置單個文件的最大大?。ㄒ?blocks 為單位)。
-l <內存鎖定大小>
:設置可以鎖定的最大內存大?。ㄒ?KB 為單位)。
-m <內存使用量>
:設置進程可以使用的最大內存量(以 KB 為單位)。
-n <文件描述符數量>
:設置可以打開的文件描述符數量。
-p <管道緩沖區大小>
:設置管道緩沖區的最大大?。ㄒ?512 字節為單位)。
-s <棧大小>
:設置棧的最大大?。ㄒ?KB 為單位)。
-t <CPU 時間>
:設置進程可以使用的最大 CPU 時間(以秒為單位)。
-u <進程數量>
:設置用戶可以運行的最大進程數量。
-v <虛擬內存大小>
:設置進程可以使用的最大虛擬內存大?。ㄒ?KB 為單位)。
-x <信號處理限制>
:設置信號處理程序的數量。
要使用這些參數,只需在 ulimit
命令后添加相應的選項和值。例如,要將單個文件的最大大小設置為 100 MB,可以使用以下命令:
ulimit -f 104857600
請注意,某些資源限制可能需要管理員權限才能更改。此外,這些設置僅適用于當前 shell 會話。要永久更改資源限制,請將相應的 ulimit
命令添加到用戶的 shell 配置文件(如 ~/.bashrc
或 ~/.bash_profile
)中。