乾貨:ulimit命令詳解

查看ulimit

命令格式:

ulimit [-SHacdefilmnpqrstuvx]
參數S:表示軟限制,當超過限制值會報警
參數H:表示硬限制,必定不能超過限制值
參數a:將列出所有資源限制,如:

乾貨:ulimit命令詳解


參數c:當某些程序發生錯誤時,系統可能會將該程序在內存中的信息寫成文件(除錯用),這種文件就被稱為核心文件(core file)。此為限制每個核心文件的最大容量
參數d:每個進程數據段的最大值
參數f:當前shell可創建的最大文件容量
參數l:可以鎖定的物理內存的最大值
參數m:可以使用的常駐內存的最大值
參數n:每個進程可以同時打開的最大文件句柄數
參數p:管道的最大值
參數s:堆棧的最大值
參數t:每個進程可以使用CPU的最大時間
參數u:每個用戶運行的最大進程併發數
參數v:當前shell可使用的最大虛擬內存

修改ulimit

命令格式:

ulimit [-SHcdefilmnpqrstuvx] [limit]

在查看的命令後面加上限制值,就可以調整某一項限制,但只對當前登錄shell有效。

參數S表示設置軟限制;參數H表示設置硬限制;當都不指定時,表示設置軟限制和硬限制均為指定值。

永久修改ulimit

所謂永久,是指每次登陸shell時,都會按配置重新設定ulimit,以達到永久生效的效果。

步驟一:

修改/etc/security/limits.conf

添加如下內容:

關於該文件的配置方式請參考後文

[root@CentOS646506 ~]# vim /etc/security/limits.conf
* hard nproc 64000
* soft nproc 64000
* hard nofile 64000
* soft nofile 64000

以上內容表示,將-u和-n的軟限制和硬限制同時修改為64000。

步驟二:

修改/etc/pam.d/login

添加如下內容:

[root@CentOS646506 ~]# vim /etc/pam.d/login
session required pam_limits.so

以上內容表示,在登錄時使用pam管理limit。

步驟三:

修改/etc/profile

添加如下內容

[root@CentOS646506 ~]# vim /etc/profile
ulimit -u 64000
ulimit -n 64000

每次登陸shell後,會初始執行這兩條ulimit命令,並使其生效。

使配置生效

重新登錄或使用source /etc/profile立即生效。

source使當前shell對指定文件內容生效。

/etc/security/limits.conf配置詳解

格式:

 
domain 是指生效實體
用戶名
也可以通過@group指定用戶組
使用*表示默認值
type指限制類型
soft軟限制
hard硬限制
item限制資源
core同ulimit -c
data同ulimit -d
fsize同ulimit -f

memloc同ulimit -l
nofile同ulimit -n
stack同ulimit -s
cpu 同ulimit -t
nproc同ulimit -u
maxlogins指定用戶可以同時登陸的數量
maxsyslogins系統可以同時登陸的用戶數
priority用戶進程運行的優先級
locks用戶可以鎖定的文件最大值
sigpengding同ulimit -i
msgqueue同ulimit -q


分享到:


相關文章: