1.命令简介

ulimit 属 Shell 内建命令,用于查看或设置 Shell 以及通过 Shell 启动的进程使用系统资源的上限。限制分为软限制(当前限制)和硬限制,其中硬限制是软限制的上限值。如果应用程序在运行过程中使用的系统资源超过相应的软限制,将导致进程的终止。

由于系统资源有限,比如开启文件描述符的数量,进程堆栈的大小,CPU 时间,虚拟内存大小,等等,操作系统对每一个进程都有严格的限制。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与进程性能密不可分。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。

2.命令格式

ulimit [-HSTabcdefilmnpqrstuvx [limit]]

其中,limit 是对指定类型资源的具体限制,参数 S 表示设置软限制,H 表示设置硬限制,当都不指定时,表示同时设置软限制和硬限制。

3.选项说明

-H设定资源的硬限制,只有 root 用户可以操作
-S设置资源的软限制
-a显示目前所有资源设定的限制
-bsocket 缓冲的最大值,单位
-ccore 文件的最大值,单位 blocks
-d进程数据段的最大值,单位 KB
-e调度优先级上限,这里的优先级指 NICE 值。只针对普通用户进程有效
-f当前 Shell 可创建文件总大小的上限,单位 blocks
-i被挂起/阻塞的最大信号数量
-l可以锁住的物理内存的最大值,单位 KB
-m可以使用的常驻内存的最大值,单位 KB
-n每个进程可以同时打开的最大文件数
-p管道的最大值,单位 block,1 block = 512 bytes
-qPOSIX 消息队列的最大值
-r限制程序实时优先级,只针对普通用户进程有效
-s进程栈最大值,单位 KB
-t最大 CPU 时间,单位 s
-u用户最多可启动的进程数目
-v当前 Shell 可使用的最大虚拟内存,单位 KB
-x文件锁的最大数量
-T线程的最大数量

4.常用示例

(1)查看现有系统资源限制。

ulimit -acore file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 255112
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) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

(2)控制进程发生段错误(Segmentation Fault)时生成 coredump 文件。

ulimit -c unlimited

(3)设置进程的栈大小没有限制。

ulimit -s unlimited

参考文献

[1] ulimit(1) manual
[2] linux的ulimit各种限制之深入分析

Linux 命令(72)—— ulimit 命令(builtin)相关推荐

  1. 如何在Linux中使用ulimit命令

    The ulimit command in Linux is an extremely useful command for system admins who manage multi-user s ...

  2. Linux 命令之 ulimit 命令-控制shell程序的资源

    文章目录 介绍 常用选项 参考示例 介绍 用来限制系统用户对 shell 资源的访问.如果不懂什么意思,下面一段内容可以帮助你理解: 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个 ...

  3. Linux命令之ulimit命令

    一.命令简介   ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制.使用ulimit命令用于临时修改资源限制,如果需要永久修改需要将设置写入配置文件/etc/s ...

  4. 页描述符 linux,有关Crontab导致Linux文件描述符...-探讨:crond 引发大量sendmail进...-linux下的ulimit命令用法解析(图文)_169IT.COM...

    一,遇到的问题 系统中的定时任务,过一段时间之后,不能运行. 通过系统命令查看到系统有大量sendmail进程,导致文件描述符耗尽.以下主要通过分析整个处理过程,供大家参考. 二,处理过程 分析步骤如 ...

  5. 【Linux】一步一步学Linux——ulimit命令(218)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 总结 06. 附录 01. 命令概述 ulimit命令用来限制系统用户对shell ...

  6. linux下的软硬资源限制,关于ulimit命令修改软硬资源大小说明及正确修改软硬资源限制数配置...

    近来,同事做了一些CentOS的优化,用于部署线上服务,问我修改了软硬资源进程数限制,为什么重启后没生效.我说配置写到配置文件里,是可以生效的啊.于是,检查了下他系统的优化配置,发现他修改进程数限制配 ...

  7. linux ulimit命令 控制shell执行程序的资源

    Linux ulimit命令用于控制shell程序的资源. ulimit为shell内建指令,可用来控制shell执行程序的资源. 语法 ulimit [-aHS][-c <core文件上限&g ...

  8. LINUX ulimit命令

    原文链接 linux下默认是不产生core文件的,要用ulimit -c unlimited放开 概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件 ...

  9. Linux运维:ulimit命令修改打开文件的句柄数

    文章目录 ulimit命令语法 参数说明: 查看本机设置的参数: ulimit修改打开文件的句柄数 场景 解释: 修改 1.修改file-max 2.修改ulimit的open file 注意事项 d ...

最新文章

  1. 由浅入深理解java集合(二)——集合 Set
  2. C#把数据写到硬盘指定位置
  3. Repeater无刷新分页
  4. linux中如何统计目录中的文件,[Linux目录文件]在Linux中统计目录内文件
  5. java重定向cookie_response请求转发和重定向,cookie
  6. 使用vue实现自定义搜索功能
  7. php编写个人所得税单元测试,php趣味编程-php求个人所得税
  8. 如何让Android手机远离间谍软件?看这里
  9. CSLA.Net3.6中使用CodeSmith
  10. 中国大数据市场规模分析及预测
  11. 多模态关键任务与应用综述(从表示到融合,从协同学习到关键技术梳理)
  12. Spring Servlet 拦截器 过滤器
  13. JDK源码系列 下载源码
  14. 阿里云公司简介介绍资料
  15. 分析功能强大的蛋白质结构预测软件Phyre2
  16. Robotaxi里程竞赛开启,激光雷达成新热点 | 2021年自动驾驶趋势解读
  17. 我做的一个Android 下的PDF书架阅读APP
  18. 企业微信视频教程(Java标准版)-翟东平-专题视频课程
  19. HDU2209+POJ3279 枚举+dfs
  20. 第4课 从键盘读入变量的值及保留小数位问题

热门文章

  1. 谷歌修复已遭利用的 0day
  2. 开源审计的最佳时机是什么时候?
  3. Jupyter notebook实现远程登陆
  4. 具体数学第二版第四章习题(4)
  5. 细数被程序员吐糟的9大困难(转)
  6. IPS不用添加service帐号进入linux使得管理主机能访问的方法
  7. 【matlab-1】工具箱、窗口、变量的存储与加载、帮助
  8. L1-075 强迫症 (10 分)-PAT 团体程序设计天梯赛 GPLT
  9. #论char数组结尾’\0’的必要性#
  10. ios支付 选择货币_iOS开发中金钱货币的计算问题