跳转至

ulimit 命令


2013-03-28 by dongnan

功能

ulimit 命令用于查看当前的各种用户进程限制。

举个栗子

某台 CentOS 6.3 服务器 root 账户限制信息如下:

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) 15040
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

配置 limits

可以通过设置 /etc/security/limits.conf 文件,调整进程限制参数:

awk '! /^(#|$| )/' /etc/security/limits.conf

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536

RHEL6 引入了配置文件 /etc/security/limits.d/90-nproc.conf, 当使用*号让全局用户生效的时候,生效的的值大小是受文件/etc/security/limits.d/90-nproc.confnproc值大小制约的。

awk '! /^(#|$| )/' /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024

命令帮助

语法格式:

ulimit [-acdfHlmnpsStvw] [size]

参数介绍:

-H 设置硬件资源限制。
-S 设置软件资源限制。
-a 显示当前所有的资源限制。
-c size:设置core文件的最大值。单位:blocks
-d size:设置数据段的最大值。单位:kbytes
-f size:设置创建文件的最大值。单位:blocks
-l size:设置在内存中锁定进程的最大值。单位:kbytes
-m size:设置可以使用的常驻内存的最大值。单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值。单位:n
-p size:设置管道缓冲区的最大值。单位:kbytes
-s size:设置堆栈的最大值。单位:kbytes
-t size:设置CPU使用时间的最大上限。单位:seconds
-v size:设置虚拟内存的最大值。单位:kbytes
-u <程序数目>  用户最多可开启的程序数目

欢迎关注微信公众号: 运维录

Back to top