Linux命令之ulimit命令
一、命令簡介
ulimit是一個計算機命令,用於shell啟動程序所佔用的資源,可用於修改系統資源限制。使用ulimit命令用於臨時修改資源限制,如果需要永久修改需要將設定寫入配置檔案/etc/security/limits.conf。
二、使用示例
1、檢視當前資源限制設定
[root@test1 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3766
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3766
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2、設定單一使用者程序上限
[root@test1 ~]# ulimit -u 500
[root@test1 ~]# ulimit -a |grep user
max user processes (-u) 500
3、設定控制代碼數上限
[root@test1 ~]# ulimit -n
1024
[root@test1 ~]# ulimit -n 20480
[root@test1 ~]# ulimit -n
20480
4、配置core檔案大小為無限制
該引數設定常用於JVM奔潰時問題排查臨時開啟,用於轉儲JVM奔潰前的資料內容。
[root@test1 ~]# ulimit -c
0
[root@test1 ~]# ulimit -c unlimited
[root@test1 ~]# ulimit -c
unlimited
5、設定虛擬記憶體最大值
[root@test1 ~]# ulimit -v 2048000
[root@test1 ~]# ulimit -a |grep virtual
virtual memory (kbytes, -v) 2048000
三、使用語法及引數說明
1、使用語法
用法:ulimit [-SHacdefilmnpqrstuvx] [limit]
2、引數說明
引數 引數說明
-H 設定硬資源限制.
-S 設定軟資源限制.
-a 顯示當前所有的資源限制.
-c size 設定core檔案的最大值.單位:blocks,預設0
-d size 設定資料段的最大值.單位:kbytes,預設unlimited
-e 排程優先順序,一般根據nice設定,預設0
-f size 設定建立檔案的最大值.單位:blocks,預設unlimited
-i 待定訊號值,預設3766
-l size 設定在記憶體中鎖定程序的最大值.單位:kbytes,預設64
-m size 設定可以使用的常駐記憶體的最大值.單位:kbytes,預設unlimited
-n size 設定核心可以同時開啟的檔案描述符的最大值,預設1024
-p size 設定管道緩衝區的最大值.單位:kbytes,預設8
-q 可以建立使用POSIX訊息佇列的最大值,單位為bytes,預設819200
-r 限制程式實時優先順序的範圍,只針對普通使用者,預設值0
-s size 設定堆疊的最大值.單位:kbytes,預設8192
-t size 設定CPU使用時間的最大上限.單位:seconds,預設unlimited
-u <程式數目> 使用者最多可開啟的程式數目,預設3766
-v siz 設定虛擬記憶體的最大值.單位:kbytes,預設unlimited
-x 鎖定檔案大小限制,預設unlimited,預設unlimited
3、limits.conf 配置檔案關鍵字說明
關鍵字 說明
domain 是指生效實體
user 使用者名稱
@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