ulimit常用參數介紹


              ulimit常用參數介紹

                                  作者:尹正傑

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

 

  ulimit 用於限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創建的內核文件的大小、進程數據塊的大小、Shell 進程創建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛擬內存。同時,它支持硬資源和軟資源的限制。

 

一.ulimit常用參數介紹:
    -a:顯示目前資源限制的設定;
    -c <core文件上限>:設定core文件的最大值,單位為區塊;
    -d <數據節區大小>:程序數據節區的最大值,單位為KB;
    -f <文件大小>:shell所能建立的最大文件,單位為區塊;
    -H:設定資源的硬性限制,也就是管理員所設下的限制;
    -m <內存大小>:指定可使用內存的上限,單位為KB;
    -n <文件數目>:指定同一時間最多可開啟的文件數;
    -p <緩沖區大小>:指定管道緩沖區的大小,單位512字節;
    -s <堆疊大小>:指定堆疊的上限,單位為KB;
    -S:設定資源的彈性限制;
    -t <CPU時間>:指定CPU使用時間的上限,單位為秒;
    -u <程序數目>:用戶最多可開啟的程序數目;
      -v <虛擬內存大小>:指定可使用的虛擬內存上限,單位為KB。

   其實上面的這些參數只是一部們,不過已經夠運維人員使用了,如果你對這個命令想要了解更多的話,還是建議使用man命令。里面也有詳細的使用技巧。如下圖,如果你要是英語不感冒的話,可以借助目前很流行的谷歌,百度翻譯等工具。

 

 二.修改ulimit的配置文件

[root@node101 ~]# ulimit -n                                          #查看默認指定同一時間最多可開啟的文件數,這個值顯然是不合理的,我們必須得修改它!
[root@node103 ~]# 
[root@node101 ~]# ulimit -u                                          #查看默認用戶最多可開啟的程序數目,這個貌似是根據你的機器配置會有相應的變化
[root@node101 ~]# 
[root@node101 ~]# ulimit -a                                           #顯示目前資源限制的設定
core file size          (blocks, -c) 0                                 #core文件的最大值為100 blocks。
data seg size           (kbytes, -d) unlimited                          #進程的數據段可以任意大。
scheduling priority             (-e) 0                                    #指定調度優先級
file size               (blocks, -f) unlimited                            #文件可以任意大。
pending signals                 (-i) 31152                            #最多有31152個待處理的信號。
max locked memory       (kbytes, -l) 64                               #一個任務鎖住的物理內存的最大值為64KB。
max memory size         (kbytes, -m) unlimited                    #一個任務的常駐物理內存的最大值。
open files                      (-n) 1024                               #一個任務最多可以同時打開1024的文件。
pipe size            (512 bytes, -p) 8                                   #管道的最大空間為4096字節。
POSIX message queues     (bytes, -q) 819200                         #POSIX的消息隊列的最大值為819200字節。
real-time priority              (-r) 0                                  #指定實時優先級
stack size              (kbytes, -s) 8192                            #進程的棧的最大值為8192字節。
cpu time               (seconds, -t) unlimited                      #進程使用的CPU時間。
max user processes              (-u) 31152                          #當前用戶同時打開的進程(包括線程)的最大個數為31152。
virtual memory          (kbytes, -v) unlimited                     #沒有限制進程的最大地址空間。
file locks                      (-x) unlimited                        #所能鎖住的文件的最大個數沒有限制。
[root@node101 ~]#
[root@node101 ~]# vi /etc/security/limits.conf                   #往里面配置相應的參數,我這里就做了6項優化
[root@node101 ~]# cat /etc/security/limits.conf  | grep -v ^# | grep -v ^$            
*        soft    nofile        32768
*         hard    nofile        1048576
*        soft    nproc        65536
*        hard    nproc        unlimited
*        soft    memlock        unlimited
*        hard    memlock        unlimited
[root@node101 ~]# 
[root@node101 ~]# reboot                                   #按照上面的配置完成后,需要重啟操作系統

Connection closed by foreign host.

Disconnected from remote host(node101.yinzhengjie.org.cn) at 12:23:03.

Type `help' to learn how to use Xshell prompt.
[d:\~]$ 

Connecting to 172.30.1.101:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Mon Oct  1 07:50:21 2018 from 172.30.1.1
[root@node101 ~]# 
[root@node101 ~]# 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) 31152            
max locked memory       (kbytes, -l) unlimited            #這個值發生變化了,之前是64,現在是沒有限制啦!
max memory size         (kbytes, -m) unlimited
open files                      (-n) 32768                    #這個值發生了變化,之前是1024!
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) unlimited            #這個值也發生了變化,之前是31152,現在是沒有限制
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@node101 ~]#

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM