ulimit 是一個用于控制 shell 進程資源限制的命令行工具
查看當前資源限制:
使用 ulimit -a 命令可以查看當前用戶的所有資源限制。
臨時修改資源限制:
使用 ulimit 命令可以在當前 shell 會話中臨時修改資源限制。例如,要將最大文件大小限制為 100MB,可以使用以下命令:
ulimit -f 104857600
請注意,這種修改只在當前 shell 會話中有效。當您關閉終端或打開新的終端時,更改將不會保留。
永久修改資源限制:
要永久修改資源限制,需要編輯 /etc/security/limits.conf 文件。在此文件中,您可以為用戶或用戶組設置資源限制。例如,要將用戶 username 的最大文件大小限制為 100MB,可以在文件中添加以下行:
username soft fsize 104857600
username hard fsize 104857600
這里的 soft 表示軟限制,hard 表示硬限制。軟限制是用戶可以自行增加的限制,而硬限制是系統管理員設置的最大限制。用戶不能將自己的軟限制超過硬限制。
修改其他資源限制:
ulimit 命令支持許多其他資源限制選項。以下是一些常見的選項:
-n:最大文件描述符數-u:最大進程數-m:最大內存使用量(以 KB 為單位)-t:最大 CPU 時間(以秒為單位)-v:最大虛擬內存使用量(以 KB 為單位)要修改這些資源限制,只需將 ulimit 命令中的 -f 替換為相應的選項即可。
在腳本中使用 ulimit:
您還可以在 shell 腳本中使用 ulimit 命令來設置資源限制。例如,以下腳本將最大文件大小限制為 100MB,并運行一個名為 my_app 的應用程序:
#!/bin/bash
ulimit -f 104857600
./my_app
請注意,腳本中的 ulimit 設置僅在腳本運行期間有效。當腳本執行完成后,資源限制將恢復為默認值。