linux----ulimit 限制

weixin_34119545發表於2016-08-12

ulimit -a 顯示當前使用者的各種限制。

ulimit -n 的數值表示每個程式可以開啟的檔案數目。

一般情況下, ulimit -n 的數值是1024.

當程式開啟的檔案數目超過此限制時,該程式就會退出。

因此,有些時候我們需要修改此限制。

如果我們只是普通使用者,只是暫時的修改ulimit -n,可以直接shell命令來修改(ulimit -n 1024000)。但是這個設定時暫時的保留!當我們退出bash後,該值恢復原值。

如果要永久修改ulimit,需要修改/etc/security/limits.conf。

    vim /etc/security/limits.conf
     # 新增如下的行


    * soft nofile 4100
    * hard nofile 4100

 

以下是說明:

* 代表針對所有使用者

noproc 是代表最大程式數
nofile 是代表最大檔案開啟數

新增格式:

username|@groupname       type      resource       limit

username|@groupname:設定需要被限制的使用者名稱,組名前面加@和使用者名稱區別。也可以用萬用字元*來做所有使用者的限制。

type:有 soft,hard 和 -,soft 指的是當前系統生效的設定值。hard 表明系統中所能設定的最大值。soft 的限制不能比har 限制高。用 - 就表明同時設定了 soft 和 hard 的值。
resource:
core - 限制核心檔案的大小(kb)
date - 最大資料大小(kb)
fsize - 最大檔案大小(kb)
memlock - 最大鎖定記憶體地址空間(kb)
nofile - 開啟檔案的最大數目
rss - 最大持久設定大小(kb)
stack - 最大棧大小(kb)
cpu - 以分鐘為單位的最多 CPU 時間
noproc - 程式的最大數目
as - 地址空間限制
maxlogins - 此使用者允許登入的最大數目

 

檔案儲存之後,需要重新登入一次才能生效,如果重新登入不行 就需要重啟一下。

相關文章