- 论坛徽章:
- 60
|
先看一张图:
关于 ulimit 指令 , /etc/security/limits.conf , /proc/[pid]/limits
我上图中是以 mysqld 进程为例子.
我的系统明明将打开文件数设置成了 1000000 , 为什么 /proc/[pid]/limits中分配的最大打开文件数只有200000呢?
------------------------
以下为问题描述:
最近遇到 java 进程老是挂掉无法提供服务,日志以"too many open files." 提示! 提示这个的时候去查看此java进程的打开文件数使用情况,发现已经使用了129224. 而此进程 /proc/[pid]/limits 中限制的数量是 131072 !
Max open files 131072 131072 files
使用达到上限,挂掉了!
问题是,系统设置的是打开文件数是限制的是 409600 , 这个Java进程的打开文件数还远没有达到这个值.
我想问: 关于 /proc/[pid]/limits 中被限制的打开文件数为什么不是系统 /etc/security/limits.conf 中设置的打开文件数? 这个能否调整? ulimit -a 显示也是409600. 这个分配的机制是啥样的?
蛋疼! 都不知道java为啥打开了12万多个文件.都是 pipe,eventpoll之类的文件东东,问题是我想增大这个限制都不知道如何下手.
|
|