1. 程式人生 > 其它 >Linux命令之ulimit命令

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