linux 调整ulimit数值

1、vim /etc/security/limits.conf 添加以下内容:
# *表示所有用户
# soft即是软限制,hard是硬限制。用户可以超过soft设置的值,但一定不能超过hard 的值。一般soft比hard小
# noproc表示最大进程数,nofile 表示最大文件打开数
* soft noproc 65536
* hard noproc 65536
* soft nofile 65536
* hard nofile 65536

3、退出重新登录

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

5、java.io.IOException: Too many open files 此问题原因与ulimit -n有关,调大ulimit -n

6、There is insufficient memory for the Java Runtime Environment to continue.
   Cannot create GC thread. Out of system resources.
   java.lang.OutOfMemoryError: unable to create new native thread
此问题与ulimit -u有关,调大ulimit -u

7、shell级限制 
通过ulimit -n修改,如执行命令ulimit -n 2048,则表示将当前shell的当前用户所有进程能打开的最大文件数量设置为2048。修改后立即生效,重新登录进来后失效,因为被重置为/etc/security/limits.conf里的设定值

8、用户级限制  
针对用户所有shell的限制,通过修改/etc/security/limits.conf实现,例如,往limits.conf输入以下内容:
root soft nofile 2048 
root hard nofile 2049
注意:修改limits.conf中关于nofile的值,不能超过/proc/sys/fs/nr_open的值,否则会出现无法ssh远程连接。

9、/proc/sys/fs/file-max 是系统给出的建议值

10、/proc/PID/limists 中可以查看进程的文件限制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值