Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。
我所用的Linux为CentOS 5.6
修改方法:
(1)ulimit -HSn 102400
这只是在当前终端有效,退出之后,open files 又变为默认值。
(2)将ulimit -HSn 102400写到/etc/profile中,因为每次登录终端时,都会自动执行/etc/profile。
(3)令修改open files的数值永久生效,则必须修改配置文件:/etc/security/limits.conf. 在这个文件后加上:
* soft nofile 102400
* hard nofile 102400
这种方法需要重启机器才能生效。
(4)为了让一个程序的open files数目扩大,可以在启动脚本前面加上(1)中的命令。当程序是一个daemon时,可能这种方法无效,没有终端了。
PS:
影响open files数值的还有一个内核参数file-max,这是Linuxt系统的总限制。可以通过如下文式查看:
cat /proc/sys/fs/file-max
或者
sysctl -a | grep fs.file-max
对于服务器可以采用如下方法修改file-max:
(1)重启机器后恢复为默认值
echo 34166 > /proc/sys/fs/file-max
或者
sysctl -w "fs.file-max=34166"
(2)修改配置文件/etc/sysctl.conf, 在最后加上一行:
fs.file-max = 34166
然后重启机器后生效。以后永久生效。
分享到:
相关推荐
修改linux进程可打开的文件数的限制open files linux中一切都是文件 默认linux一个进程可打开1024个文件 大并发需要达到5万个文件描述符FD,你必须修改该参数值才行
linux too many open files解决方案.docx
本文主要介绍Linux报too many open files时的解决方法,感兴趣的朋友可以看一下。
Too many open files 问题的解决.txt
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法,三种方案,临时,永久,根治
转:java.net.SocketException: ...java.net.SocketException: Too many open files错误,错误日志达到了100多兆,郁闷了,windows上运行了很长 时间都没出现这个错误,后来才知道linux对进程的打开文件数是有限制的。
AIX关于Weblogic的报错_Too_many_open_files_的处理
linux arm架构openeuler-20.03镜像
Linux 下编译的OPC UA Open62541 静态库文件,包括server Client
Linux中C语言open函数打开或创建文件详细讲解.pdf
NULL 博文链接:https://phl.iteye.com/blog/2256121
openfiles
该文档是介绍访问应用很慢,访问Nginx时,报错:accept() failed (24 Too many open files)的解决方案,与大家共享!
有利于你全面的了解linux下的open函数的应用及理解。。
linux下安装openmanager以及配置到nagios
Linux中C语言open函数打开或创建文件详细讲解[文].pdf
本资源适用于Linux之Ubuntu16+ LTS系统环境,Linux环境下是C++的开发集成工具。qt-opensource-linux-x64-5.7.1.run。郑重声明:本资源已经经过实际项目验证。
qt-sdk-linux-x86-opensource-2010.05.1
Caldera OpenLinux 是当今最主要的Linux发布之一。本书由浅入深详细讲解OpenLinux的安装、系统配置与优化、硬件配置和OpenLinux下应用软件的安装和使用。全书结构紧凑,内容详实具体,是一本不可多得的Linux读物。...