定义

ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。

语法

ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]

参数

-a:显示目前资源限制的设定;
-c <core文件上限>:设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数;
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t <CPU时间>:指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

实例

显示系统资源的设置

[root@localhost ~]# 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) 98304 #最多有98304个待处理的信号。
max locked memory (kbytes, -l) 32 #一个任务锁住的物理内存的最大值为32KB。
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) 10240 #进程的栈的最大值为10240字节。
cpu time (seconds, -t) unlimited #进程使用的CPU时间。
max user processes (-u) 98304 #当前用户同时打开的进程(包括线程)的最大个数为98304。
virtual memory (kbytes, -v) unlimited #没有限制进程的最大地址空间。
file locks (-x) unlimited #所能锁住的文件的最大个数没有限制。

异常场景

Caused by: java.io.IOException: Too many open files

最新文章

  1. Git常用命令(自己总是忘记,整理在这里)
  2. 手机中点击链接或button按钮出现黄色边框的解决办法
  3. Codeforces 390A( 模拟题)
  4. [SAP ABAP开发技术总结]数据引用(data references)、对象引用(object references)
  5. MEF 编程指南(五):延迟导出
  6. 微软AJAX解决方案
  7. bootstrap真是个好东西
  8. Windows CMD命令之tasklist及taskkill
  9. poj3414--Pots(bfs,记录路径)
  10. Spring先进的交易管理困难剖析
  11. Struts加入拦截器后取不到页面参数
  12. Cesium基础使用介绍
  13. 前端css
  14. kaldi chain模型的序列鉴别性训练代码分析
  15. ie8下new Date()指定时间
  16. Spark Standalone cluster try
  17. easy install 与pip
  18. 根文件系统之init
  19. 实验一:C++简单程序设计
  20. Unity中进程间通信——使用Protobuf-net序列化与反序列化

热门文章

  1. antd做form表单的组件共用,利用mapPropsToFields填写默认值
  2. 08Dockerfile基本使用
  3. Angular6如何引入jQuery-knob
  4. sql 行数据找出最大的及所有数据最大的
  5. c# 如何把一个同步方法变成异步方法
  6. 安卓SharedPreferences类的使用
  7. OpenCl入门——实现简单卷积
  8. 查看PHP指定扩展的版本信息
  9. Browser Security-超文本标记语言(HTML)
  10. mount -t proc none /proc