天天看點

/etc/security/limits.conf解釋及應用

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檔案是個二進制檔案,需要用相應的工具來分析程式崩潰時的記憶體映像。

系統預設

$ulimit -c

$ ulimit -c 1000

$ ulimit -c

1000

指定修改

# ulimit -c unlimited

#ulimit -c

unlimited

如果想讓修改永久生效,則需要修改配置檔案,如

 2.nofile - 打開檔案的最大數目

對于需要做許多套接字連接配接并使它們處于打開狀态的應用程式而言,最好通過使用 ulimit –n,或者通過設定nofile 參數,為使用者把檔案描述符的數量設定得比預設值高一些

用ulimit -n 2048 修改隻對目前的shell有效,退出後失效:

如A程式已經運作,此時ulimit -n為1024;之後ulimit -n 2048,這時在運作B程式;退出目前shell使用者,再次進行shell,之後運作C程式;這時隻有B程式用的是2048,其它用的都是1024

本文轉自 遠永201314 51CTO部落格,原文連結:http://blog.51cto.com/7336056/1862996