Redhat 帮助文档[http://kbase.redhat.com/faq/FAQ_80_1540.shtm]
Issue:
How do I set the maximum number of files allowed to be open on a system
Resolution:
The current setting for maximum number of open files can be viewed with the command:
ulimit -n
This number indicates the maximum number of files normal users (i.e. non-root) can have open in a single session. Note that for the root user, ulimit -n will sometimes output 1024 even after following the procedure to increase the maximum number of open files. This won't effect root's ability to open large numbers of files, as only normal users are bound by this value.
To increase the maximum number of open files beyond the default of 1024, two changes to the system may be necessary. In these examples, we will increase the maximum number of open files to the arbitrary value of 2048. All changes need to be made by the root user and users will need to log out and log back in before the changes will take effect.
1. Configure the system to accept the desired value for maximum number of open files Check the value in /proc/sys/fs/file-max to see if it is larger than the value needed for the maximum number of open files:
# cat /proc/sys/fs/file-max
If the value isn't large enough, echo an appropriate number into the variable and add the change to /etc/sysctl.conf to make it persistent across reboots. If the number is already larger than the value you wish to use, skip to step 2.
# echo 2048 > /proc/sys/fs/file-max
and edit /etc/sysctl.conf to include the line:
fs.file-max = 2048
2. Set the value for maximum number of open files In the file /etc/security/limits.conf, below the commented line that reads
#<domain> <type> <item> <value>
add this line:
* - nofile 2048
This line sets the default number of open file descriptors for every user on the system to 2048. Note that the "nofile" item has two possible limit values under the <type> header: hard and soft. Both types of limits must be set before the change in the maximum number of open files will take effect. By using the "-" character, both hard and soft limits are set simultaneously.
The hard limit represents the maximum value a soft limit may have and the soft limit represents the limit being actively enforced on the system at that time. Hard limits can be lowered by normal users, but not raised and soft limits cannot be set higher than hard limits. Only root may raise hard limits.
When increasing file limit descriptors, you may want to simply double the value. For example, if you need to increase the default value of 1024, increase the value to 2048 first. If you need to increase it again, try 4096, etc.
==================================================================
1。ulimit -a 查看系统目前资源限制的设定。
[root@test security]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited
[root@test security]#
通过以上命令,我们可以看到open files 的最大数为1024
那么我们可以通过一下命令修改该参数的最大值
2. ulimit -n 4096
[root@test security]# ulimit -n 4096
[root@test security]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7168
virtual memory (kbytes, -v) unlimited
这样我们就修改了系统在同一时间打开文件资源的最大数,基本解决以上问题。
另外我们可以通过lsof -p [进程的 pid]来查看系统当前打开的文件资源,可以了解不同时期系统的文件资源的使用情况,可根据情况进行系统资源的配置。
===================================================================
从这里学到的linux的命令
查看进程所占的文件描述符 lsof -p 390 | wc -l
查看系统的各种资源限制或者更改这个限制 ulimit -a
分享到:
相关推荐
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法 JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是...
### Too many open files 解决方法 #### 背景与问题描述 在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: Too many open files”。这种异常通常发生在高并发...
### Too many open files 问题详解与解决方案 在Linux系统中,“Too many open files”错误是一个常见的性能瓶颈,尤其是在运行大量并发服务或应用时。这个问题的根本在于操作系统对每个进程可打开的文件数量有限制...
针对“too many open files”错误,我们可以采取以下几种解决方法: 1. **调整系统限制**:可以通过修改`/etc/security/limits.conf`文件来永久性地提高用户或组的文件描述符限制。例如,为所有用户增加限制: ```...
Linux too many open files 解决方案 Linux 系统中的打开文件数量限制问题是系统对程序打开文件数量的限制问题。这个限制可以通过 `ulimit -a` 命令来查看。默认情况下,Linux 系统的打开文件数量限制是 1024,可以...
在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统的限制。这个错误通常出现在处理大量文件或长时间运行的程序中,尤其...
Linux系统在运行时经常会出现"too many open files"(文件打开过多)的错误,这是一个非常常见的问题,通常发生在当系统运行的应用程序尝试打开的文件数量超过了系统限制时。为了解决这个问题,我们可以从两个方面...
通过上述步骤,我们可以有效地解决AIX环境下Weblogic遇到的“Too many open files”问题。这不仅涉及了系统层面的资源限制调整,还包括了应用级别的优化措施。在实际操作过程中,还需要根据具体情况灵活调整,确保...
"解决 Nginx 访问慢和 accept() failed 错误的方法" 在本文中,我们将讨论 Nginx 访问慢和 accept() failed 错误的解决方案。这个问题通常是由于 Nginx 的连接数超过了系统设定的最大值造成的。下面是解决这个问题...
在Python编程过程中,可能会遇到一个常见的错误提示:“[Errno 24] Too many open files”。这个错误通常意味着你的程序尝试打开的文件句柄超过了操作系统允许的最大限制。下面我们将深入探讨这个问题的原因、如何...
socket accept报Too many open files的原因
MySQL中的“Too many open connections”错误...通过以上措施,可以有效地解决或预防“Too many open connections”的问题,保证MySQL服务器的稳定运行。同时,定期审查并调整这些设置,以适应应用程序的增长和变化。
Linux下运行tomcat或者was出现java.net.SocketException: 打开的文件过多错误 tomcat报“too many open files”的错误,解决办法如下:
Too many connections故障是数据库运维中较为常见的问题,特别是在并发访问量较大的Web应用中,其背后的原理和解决方法值得深入探讨。 在Linux系统中,每个进程可用的文件句柄(file handles)数量是有限制的。文件...
搭建 Nginx 与 FastDFS 的组合,是一种常见的文件存储和分发解决方案。FastDFS 是一个开源的轻量级分布式文件系统,而 Nginx 作为高性能的 Web 服务器和反向代理服务器,两者结合能够提供稳定、高效的文件上传和下载...
Ansj中文分词是一款纯Java、主要用于自然语言处理、高精度的中文分词工具,目标是“准确、高效、自由地进行中文分词”。 ... 此分词具有自己学习的功能,所以拜托大家不要.乱提交数据.会带坏人家的....
1. **微软最有价值专家(MVP)计划**:这是一个由微软公司设立的荣誉奖项,授予那些在技术社区中分享知识、帮助他人解决问题并对微软技术做出贡献的专家。 2. **申请流程**:文件可能详细介绍了2008年申请MVP的过程,...
too many open files问题分析和解决
在Hadoop集群中,遇到`java.io.IOException: Too many open file`和`java.lang.OutOfMemoryError`这两种异常,通常是由于资源限制或管理不当引起的。本文将深入探讨这两种错误的成因、解决策略以及如何避免它们。 1...