关于linux:ulimit

69次阅读

共计 1344 个字符,预计需要花费 4 分钟才能阅读完成。

1. 什么是 ulimit?

ulimit 次要是用来限度过程对资源的应用状况的,它反对各种类型的限度,罕用的有:

内核文件的大小限度
过程数据块的大小限度
Shell 过程创立文件大小限度
可加锁内存大小限度
常驻内存集的大小限度
关上文件句柄数限度
调配堆栈的最大大小限度
CPU 占用工夫限度用户最大可用的过程数限度
Shell 过程所能应用的最大虚拟内存限度

2. 用法

   ulimit 应用的根本格局为:ulimit [options] [limit]

具体的 options 参数含意如下表所示:

选项 含意
-a 显示以后零碎所有的 limit 资源信息。
-H 设置硬资源限度,一旦设置不能减少。
-S 设置软资源限度,设置后能够减少,然而不能超过硬资源设置。
-c 最大的 core 文件的大小,以 blocks 为单位。
-f 过程能够创立文件的最大值,以 blocks 为单位.
-d 过程最大的数据段的大小,以 Kbytes 为单位。
-m 最大内存大小,以 Kbytes 为单位。
-n 查看过程能够关上的最大文件描述符的数量。
-s 线程栈大小,以 Kbytes 为单位。
-p 管道缓冲区的大小,以 Kbytes 为单位。
-u 用户最大可用的过程数。
-v 过程最大可用的虚拟内存,以 Kbytes 为单位。
-t 最大 CPU 占用工夫,以秒为单位。
-l 最大可加锁内存大小,以 Kbytes 为单位。
例如:

查看过程能够关上的最大文件描述符的数量

3. 批改用户过程可关上文件数限度
3.1 调优
(1)最大过程数

设置各 linux 用户的最大过程数,上面我把某 linux 用户的最大过程数设为 10000 个:

ulimit -u 10000

(2)可关上的文件数

对于须要做许多 socket 连贯并使它们处于关上状态的 Java 应用程序而言,

 最好通过应用 ulimit -n xx 批改每个过程可关上的文件数,缺省值是 1024。ulimit -n 4096 

(3)其余倡议设置成无限度(unlimited)的一些重要设置是:

 数据段长度:ulimit -d unlimited 

 最大内存大小:ulimit -m unlimited 

 堆栈大小:ulimit -s unlimited 

 CPU 工夫:ulimit -t unlimited 

 虚拟内存:ulimit -v unlimited 

3.2 永恒地设置
(1)解除 Linux 零碎的最大过程数和最大文件关上数限度:

vi /etc/security/limits.conf

    # 增加如下的行
    * soft noproc 11000
    * hard noproc 11000
    * soft nofile 4100
    * hard nofile 4100

阐明:* 代表针对所有用户,noproc 是代表最大过程数,nofile 是代表最大文件关上数

(2)让 SSH 承受 Login 程式的登入,不便在 ssh 客户端查看 ulimit -a 资源限度:

    a、vi /etc/ssh/sshd_config
        把 UserLogin 的值改为 yes,并把 # 正文去掉
    b、重启 sshd 服务:/etc/init.d/sshd restart

(3)批改所有 linux 用户的环境变量文件:

vi /etc/profile

ulimit -u 10000

ulimit -n 4096

ulimit -d unlimited

ulimit -m unlimited

ulimit -s unlimited

ulimit -t unlimited

ulimit -v unlimited

正文完
 0