`

修改Linux下最大open files 数

阅读更多

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

分享到:
评论

相关推荐

    修改linux进程可打开的文件数的限制open files

    修改linux进程可打开的文件数的限制open files linux中一切都是文件 默认linux一个进程可打开1024个文件 大并发需要达到5万个文件描述符FD,你必须修改该参数值才行

    Linux报too many open files的解决方案

    Linux系统在运行时经常会出现"too many open files"(文件打开过多)的错误,这是一个非常常见的问题,通常发生在当系统运行的应用程序尝试打开的文件数量超过了系统限制时。为了解决这个问题,我们可以从两个方面...

    linux too many open files解决方案.docx

    默认情况下,Linux 系统的打开文件数量限制是 1024,可以通过修改这个值来增加可以打开的文件数。 临时修改 可以使用 `ulimit -n 2048` 命令临时修改打开文件数量限制为 2048。当你把打开文件数量限制值增大到一定...

    Too many open files 解决方法

    为了解决“Too many open files”的问题,需要调整Linux系统中进程可以打开的最大文件数。这可以通过两种方式来实现:临时修改和永久修改。 ##### 临时修改 可以使用`ulimit -n`命令临时增加每个进程可以打开的...

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是由于进程打开的文件数量超过了操作系统的限制,导致服务器...

    Too many open files 问题的解决.txt

    当一个应用(如Apache、MySQL、Java应用服务器等)试图打开超过其最大文件句柄数限制的文件时,就会遇到“Too many open files”的错误。这不仅会阻止进一步的文件操作,还可能引起应用崩溃或服务不可用的情况。 ##...

    报错:too many open files处理

    `ulimit`命令允许用户或程序设置资源限制,包括最大打开文件数。默认值可能不足以处理需要处理大量文件或高并发连接的应用程序,如Web服务器、数据库服务器或者日志收集工具。 针对“too many open files”错误,...

    访问应用很慢,访问Nginx时,报错:accept() failed (24 Too many open files).docx

    * ulimit 命令:用于设置最大进程数和最大文件打开数,是系统优化的必要手段。 * limits.conf 文件:用于设置系统的最大进程数和最大文件打开数的限制。 * pam_limits.so 文件:用于确保 limits.conf 文件配置生效。...

    增加系统的最大打开文件数

    在Unix和Linux操作系统中,系统资源的管理是一个关键任务,其中就包括了限制一个用户或进程可以打开的最大文件数。这个限制通常被称为“最大打开文件数”,它由`ulimit`命令来控制。`ulimit -n`命令用于查看或设置一...

    linux的最大进程句柄数设置

    系统默认值 1024,对于一般的应用来说已经足够使用,但是对于需要处理大量请求的应用,可能会出现“too many files open”的错误提示。 要知道当前进程打开了多少个文件句柄,可以使用以下命令: lsof -n | awk '{...

    Linux 下应用程序最大打开文件数的理解和修改.docx

    在Linux操作系统中,程序可能会遇到“Too many open files”的错误,这通常意味着某个进程尝试打开的文件数量超过了系统允许的最大限制。这个问题在处理高并发文件访问或大量网络连接(如Socket)的Java程序中尤为...

    mysql的最大连接数修改方法_默认是100, 最大可以达到16384

    总结一下,修改MySQL的最大连接数涉及调整`max_connections`和`open_files_limit`配置参数,并可能需要在操作系统层面进行额外的设置。这些调整需要谨慎操作,以免影响系统的稳定性和安全性。同时,定期检查和监控...

    Linux下应用程序大打开文件数的理解和修改

    运行在Linux系统上的Java程序运行了一段时间后出现Too many open files的异常情况。  这种情况常见于高并发访问文件系统,多线程网络连接等场景。程序经常访问的文件、socket在Linux中都是文件file,系统需要记录...

    linux打开文件数

    运行上述命令可以查看当前用户的资源限制,其中`open files (-n)`列出了最大文件描述符数。如果需要临时修改这个值,可以使用`ulimit`命令: ```bash ulimit -n 4096 ``` 这会将最大文件描述符数临时设置为4096,...

    Python错误提示:[Errno 24] Too many open files的分析与解决

    在Python编程过程中,可能会遇到一个常见的错误提示:“[Errno 24] Too many open files”。这个错误通常意味着你的程序尝试打开的文件句柄超过了操作系统允许的最大限制。下面我们将深入探讨这个问题的原因、如何...

    Linux下查看进程打开的文件句柄数和如何修改方法

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象...

    linux下查看被缓存的文件工具

    7. **lsof (List Open Files)**:虽然不是专门用来查看缓存文件的,但可以用来找出哪些进程正在使用特定的文件,包括缓存文件。 8. **strace**:这是一个系统调用跟踪工具,虽然不直接显示缓存,但可以用来追踪系统...

    linux 测试环境线程问题解决

    为了解决Linux环境下的线程不足问题,可以通过修改系统配置来增加最大进程数和最大文件描述符数。具体步骤如下: #### 修改`limits.conf` 在`/etc/security/limits.conf`文件中,可以增加或修改以下行: ``` * ...

    linux下FTP命令详解

    ### Linux下FTP命令详解 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议和服务,广泛应用于各种操作系统中。在Linux环境下,FTP同样扮演着重要的角色,为用户提供了一个高效、安全的数据...

    Linux下图形化安装达梦数据库.docx

    Linux 下图形化安装达梦数据库 Linux 是一个广泛使用的操作系统,对于达梦数据库的安装和配置具有重要意义。在本文档中,我们将介绍如何在 Linux 下图形化安装达梦数据库,包括创建安装用户、检查操作系统限制、...

Global site tag (gtag.js) - Google Analytics