• 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 ~]#
  • 相关阅读:
    ASP.NET中读取Excel内容,并显示在界面上
    SQL SERVER 的 CLR表值函数
    nowrap要与回车换行符结合才有意义
    何时使用 FILESTREAM?
    case 用在 UPDATE
    查看分区在哪个文件组
    C#里面的随机对象Random
    CLR程序里引用System.Web.dll
    不用写成 if @i=1 OR @i=2 OR ... 这么蠢
    SQL SERVER定期转移海量数据方案
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/9734489.html
Copyright © 2020-2023  润新知