zoukankan      html  css  js  c++  java
  • 更改linux的最大文件描述符限制

    ile Descriptor Requirements (Linux Systems)

    To ensure good server performance, the total number of client connections, database files, and log files must not exceed the maximum file descriptor limit on the operating system (ulimit -n). By default, the directory server allows an unlimited number of connections but is restricted by the file descriptor limit on the operating system. Linux systems limit the number of file descriptors that any one process may open to 1024 per process. (This condition is not a problem on Solaris machines, x86, x64, or SPARC).

    After the directory server has exceeded the file descriptor limit of 1024 per process, any new process and worker threads will be blocked. For example, if the directory server attempts to open a Oracle® Berkeley JE database file when the operating system has exceeded the file descriptor limit, the directory server will no longer be able to open a connection that can lead to a corrupted database exception. Likewise, if you have a directory server that exceeds the file descriptor limit set by the operating system, the directory server can become unresponsive as the LDAP connection handler consumes all of the CPU's processing in attempting to open a new connection.

    To fix this condition, set the maximum file descriptor limit per process on Linux machines.

    To Increase the File Descriptor Limit (Linux)

    1. Display the current hard limit of your machine.

      The hard limit is the maximum server limit that can be set without tuning the kernel parameters in proc file system.

      $ ulimit -aH
      core file size (blocks)       unlimited
      data seg size (kbytes)        unlimited
      file size (blocks)            unlimited
      max locked memory (kbytes)    unlimited
      max memory size (kbytes)      unlimited
      open files                    1024
      pipe size (512 bytes)         8
      stack size (kbytes)           unlimited
      cpu time (seconds)            unlimited
      max user processes            4094
      virtual memory (kbytes)       unlimited
    2. Edit the /etc/security/limits.conf and add the lines:
      *     soft   nofile  65535
      *     hard   nofile  65535 
    3. Edit the /etc/pam.d/login by adding the line:
      session required /lib/security/pam_limits.so
    4. Use the system file limit to increase the file descriptor limit to 65535.

      The system file limit is set in /proc/sys/fs/file-max .

      echo 65535 > /proc/sys/fs/file-max
    5. Use the ulimit command to set the file descriptor limit to the hard limit specified in/etc/security/limits.conf.
      ulimit -n unlimited
    6. Restart your system.
  • 相关阅读:
    汇编中push寄存器的影响
    windows lsp 指导
    java匹配中文汉字的正则表达式
    php中preg_match用户名正则实例
    Javascript中while和do-while循环用法详解
    如何找出MySQL数据库中的低效SQL语句
    asp.net连接oracle的问题及方法总结
    asp.net运算符之逻辑运算符以及其他运算符
    用命令行将Java程序打包为jar文件
    php 中cookie和session的用法比较
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2383337.html
Copyright © 2011-2022 走看看