limits.conf的格式如下:
username|@groupname type resource limit
username|@groupname:設定需要被限制的使用者名稱,組名前面加@和使用者名稱區別。也可以用萬用字元*來做所有使用者的限制。
type:有 soft,hard 和 -,soft 指的是當前系統生效的設定值。hard 表明系統中所能設定的最大值。soft 的限制不能比har 限制高。用 - 就表明同時設定了 soft 和 hard 的值。
resource:
core - 限制核心檔案的大小
date - 最大資料大小
fsize - 最大檔案大小
memlock - 最大鎖定記憶體位址空間
nofile - 開啟檔案的最大數目
rss - 最大持久設定大小
stack - 最大棧大小
cpu - 以分鐘為單位的最多 CPU 時間
noproc - 進程的最大數目
as - 地址空間限制
maxlogins - 此使用者允許登入的最大數目
要使 limits.conf 檔案配置生效,必須要確保 pam_limits.so 檔案被加入到開機檔案中。查看 /etc/pam.d/login 檔案中有:
session required /lib/security/pam_limits.so
暫時地,適用於通過 ulimit 命令登入 shell 會話期間。
永久地,通過將一個相應的 ulimit 語句添加到由登入 shell 讀取的檔案之一(例如 ~/.profile),即特定於 shell 的使用者資源檔;或者通過編輯 /etc/security/limits.conf。
何謂core檔案,當一個程式崩潰時,在進程當前工作目錄的core檔案中複製了該進程的儲存映像。core檔案僅僅是一個記憶體映象(同時加上調試資訊),主要是用來調試的。 core檔案是個二進位檔案,需要用相應的工具來剖析器崩潰時的記憶體映像。
系統預設core檔案的大小為0,所以沒有建立。可以用ulimit命令查看和修改core檔案的大小。
$ulimit -c
0
$ ulimit -c 1000
$ ulimit -c
1000
-c 指定修改core檔案的大小,1000指定了core檔案大小。也可以對core檔案的大小不做限制,如:
# ulimit -c unlimited
#ulimit -c
unlimited
如果想讓修改永久生效,則需要修改設定檔,如 .bash_profile、/etc/profile或/etc/security/limits.conf。
2.nofile - 開啟檔案的最大數目
對於需要做許多通訊端串連並使它們處於開啟狀態的應用程式而言,最好通過使用 ulimit –n,或者通過設定nofile 參數,為使用者把檔案描述符的數量設定得比預設值高一些