Chinaunix首页 | 论坛 | 博客
  • 博客访问: 625859
  • 博文数量: 142
  • 博客积分: 116
  • 博客等级: 入伍新兵
  • 技术积分: 1445
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-28 08:37
文章分类

全部博文(142)

文章存档

2017年(7)

2016年(57)

2015年(48)

2014年(30)

我的朋友

分类: LINUX

2016-06-12 14:53:29

ulimit 是一种 linux 系统的内建功能,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。
包括:
  • 所创建的内核文件的大小
  • 进程数据块的大小
  • Shell 进程创建文件的大小
  • 内存锁住的大小
  • 常驻内存集的大小
  • 打开文件描述符的数量
  • 分配堆栈的最大大小
  • CPU 时间
  • 单个用户的最大线程数
  • Shell 进程所能使用的最大虚拟内存


ulimit 命令的格式为:ulimit [options] [limit]

使用ulimit -a列出当前shell的设置。
在每一项中都标明了这一项所对应的参数。例如-n代表open files。
  1. # ulimit -a
  2. core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 127460
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    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) 127460
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

它分为硬资源和软资源的限制。
硬资源限制,一旦设置不能增加。
软资源限制,设置后可以增加,但是不能超过硬资源设置。
ulimit不带 -H 参数时,默认是软限制。
  1. # ulimit -n
  2. 1024
  3. # ulimit -Sn
  4. 1024
  5. # ulimit -Hn
  6. 4096

例如:
ulimit –c unlimited       # 对生成的 core 文件的大小不进行限制。
ulimit -HSn 4096          # open files的软、硬限制都设置为4096



关于ulimit的作用域


在shell中通过ulimit命令设置的,只影响当前shell,不影响其他shell会话。重新登录时会失效。
在profile中设置的,影响所有登录shell。
使用/etc/security/limits配置文件。该文件不仅能限制指定用户的资源使用,还能限制指定组的资源使用。
另外,对于整个系统的总限制,可以在/etc/sysctl.conf中设置。


也就是说,
希望在当前shell中临时生效,则在shell中执行ulimit命令。
希望系统范围临时生效,修改/proc下的对应项。(例如: echo 4096 > /proc/sys/fs/file-max)
希望长久有效,则在profile中设置ulimit,
希望对特定用户或组设置,则在/etc/security/limits中设置,
希望系统范围长久有效,修改/etc/sysctl.conf(修改后执行sysctl -p立即生效)


参考:
通过 ulimit 改善系统性能
https://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/


阅读(1391) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~