`

centos修改用户进城数和句柄数,修改linux的最大文件句柄数限制 (Too many open files)

阅读更多

   一般在/etc/security/limits.conf 中修改最大打开文件数和进程数,如:
    * soft noproc 102400
    * hard noproc 102400
    * soft nofile 102400
    * hard nofile 102400


    但是在centos 6.3下,方法不一样了
    首先在/etc/security/limits.conf中修改最大文件数和进程数
    *   soft   nofile   102400
    
    *   hard  nofile   102400
  
    然后在/etc/security/limits.d/90-nproc.conf中修改最大文件数和进程数
    *   soft   nproc   102400
    *   hard  nproc   102400
  


linux 打开文件句柄时可能出现“Too many open files”的提示,可以修改linux的最大文件句柄数限制:
1)ulimit -n 65535  
    在当前session有效,用户退出或者系统重新后恢复默认值

2)修改profile文件:在profile文件中添加:ulimit -n 65535  
   只对当个用户有效

3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit -a命令无法显示)
  * soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)  
  * hard nofile 65536  

    使用通配符*表示所有用户,*号可以换成具体的用户名或者用户组的名称。
    这个文件里的限制对root以外的用户在新登陆是立即生效,不用reboot。
    soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
    nofile - 打开文件的最大数目, noproc - 进程的最大数目

4)当前系统文件句柄的最大数目,只用于查看,不能设置修改:file-max是内核可分配的最大文件数

 [root@localhost ~]# cat /proc/sys/fs/file-max

1610145

nr_open是单个进程可分配的最大文件数

[root@localhost ~]# cat /proc/sys/fs/nr_open

1048576

ulimit或limits.conf来设置时,如果要超过默认的1048576值时需要先增大nr_open值(sysctl -w fs.nr_open=100000000或者直接写入sysctl.conf文件)。当然百万级别的单进程最大file-handle打开数应该也够用了

查看进程打开文件数

如果需要查看所有进程的文件打开数,如下图命令

     lsof |wc -l

 

   修改文件:/etc/sysctl.conf。在文件中添加:
    fs.file-max=655350 #限制整个系统最大文件句柄数  
    运行命令:/sbin/sysctl -p 使配置生效

 

查看整个系统目前使用的文件句柄数量命令:

 

Shell代码  收藏代码
  1. cat /proc/sys/fs/file-nr  

辅助命令: 
查找文件句柄问题的时候,还有一个很实用的程序 lsof,可以很方便看到某个进程开了哪些句柄 :

Shell代码  收藏代码
  1. lsof -p pid  

 

某个进程开了几个句柄 :

Shell代码  收藏代码
  1. lsof -p pid |wc -l  

 

也可以看到某个目录 /文件被什么进程占用了,显示已打开该目录或文件的所有进程信息 :

 

  1. lsof path/filename  

 除了修改系统级参数外,有些需要设置软件本身的配置,比如:nginx在 nginx.conf 

中指定worker_process可以使用的nofile值

worker_rlimit_nofile    8192;

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    总结来说,“[Errno 24] Too many open files”是由于系统限制和程序设计不当导致的。通过合理调整系统限制和优化代码,可以有效地解决这个问题。在编程中,了解这些限制并学会正确地管理资源是至关重要的,这样可以...

    3 种方法教你在 Linux 中修改打开文件数量限制.doc

    例如,要限制所有用户的最大打开文件数,可以在`limits.conf`文件中添加一行`* soft nofile 2048`。这里的`*`代表所有用户,`soft`表示软限制,`nofile`表示文件描述符限制,`2048`是限制的数值。硬限制的设置方法...

    centos7限制普通用户访问单一目录.docx

    在CentOS7操作系统中,有时我们需要为特定的用户设置严格的权限控制,比如只允许他们访问特定的目录和文件。在给定的场景中,我们希望为开发同事创建一个名为"loglook"的账户,该账户只能查看位于/home/wwwroot/a...

    too maney files open MySQL 解决方案

    如果 MySQL 需要打开超过这个限制的文件数,就会出现 "too maney files open" 问题。 解决这个问题的方案是来自 Unix Stack Exchange 上的一个问题,链接是 ...

    解决mysql 1040错误Too many connections的方法

    有两种方法 1、修改配置文件文件 修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到/etc/my.cnf。我使用的是my-...

    Linux修改文件及文件夹权限

    在Linux中,可以通过`ls -l`命令来查看文件或目录的详细属性,包括文件类型、权限、链接数、所有者、所属组、大小、最后修改时间和名称。权限部分由十位字符组成,前三位表示文件所有者的权限,中间三位是同组用户的...

    CentOs7修改网卡配置文件不生效-亲测有效

    在 CentOS 7 系统中,网络配置的管理方式与早期版本有所不同,主要采用了 Network Manager 这一服务来管理网络接口。有时,我们可能会遇到修改 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件后,...

    centos 和 linux 6.5 yum包

    Linux 6.5和CentOS是两种不同的但密切相关的基础操作系统,它们都基于开源的Linux内核。Yum(Yellowdog Updater, Modified)是RPM包管理器,用于自动化安装、升级、卸载和查询软件包,对于基于RPM的系统如CentOS,它...

    centos单用户修改密码

    linux16 /vmlinuz-3.10.0-957.1.3.el7.x86_64 ro root=/dev/mapper/centos-root rhgb quiet single ``` 完成编辑后,按回车键保存修改并返回到GRUB菜单的编辑界面。 #### 步骤五:启动单用户模式 在编辑界面中,...

    Linux CentOS Mysql修改默认端口.docx

    Linux CentOS Mysql修改默认端口.docx

    CentOS Linux 8和CentOS Stream发行公告

    我们想宣布CentOS Linux 8和 所有架构上的新CentOS Stream。 ---------- CentOS Linux 8 这是CentOS Linux 8的第一个版本,版本标记为 8.0-1905,来自Red Hat发布的资源,通过 git.centos.org 首先,请仔细阅读发行...

    Linux Centos系统安装手册

    - 双系统安装:这指的是在一台电脑上同时安装Windows和Linux Centos两个操作系统,用户可以通过引导菜单在两个系统之间切换。这种方式的优点是可以充分利用Windows系统和Linux系统的优点,但缺点是安装过程相对复杂...

    centos7-linux镜像文件

    【标题】:“centos7-linux镜像文件”指的是CentOS 7操作系统的虚拟机镜像文件,这种文件通常用于在虚拟化环境中安装和运行CentOS 7系统。它包含了操作系统的所有核心组件、预装软件以及必要的配置信息,使得用户...

    CentOS修改在VMWare环境中修改IP地址[整理].pdf

    在 VMWare 环境中修改 CentOS 的 IP 地址需要配置正确的网络设置,包括修改 IP 地址、网关和子网掩码,并使用 WinSCP 和 PuTTY 实现文件传输和远程访问。 知识点: 1. VMWare NAT 网络环境配置 2. 修改 IP 地址和...

    Linux复习资料,基于CentOS7

    2. **文件和目录操作** (Linux上机实验4-文件和目录操作(1).doc、Linux上机实验7-文件和目录权限设置.doc) - 命令行操作:如`ls`, `cd`, `mkdir`, `rm`, `cp`, `mv`等,用于浏览、创建、删除、复制和移动文件和...

    linux CentOS的iso镜像文件

    ### Linux CentOS ISO镜像文件详解 #### CentOS简介 CentOS是一种免费提供的企业级计算平台,它与Red Hat Enterprise Linux(RHEL)高度兼容。CentOS的版本通常与RHEL的版本相对应,这意味着用户可以获得类似的...

    centos7.x linux镜像文件

    这是一个centos的镜像文件,用于在装虚拟机的时候可以在后面把它添加进去

    Linux学习之CentOS

    - 下载CentOS 6.4 ISO镜像文件,包括CentOS-6.4-x86_64-bin-DVD1.iso(主镜像文件)和CentOS-6.4-x86_64-bin-DVD2.iso(附加软件包)。 2. **创建虚拟机:** - 打开VMware Workstation,选择“File”>“New ...

    CentOS5 文件系统

    CentOS5,作为一个基于Red Hat Enterprise Linux的开源发行版,其文件系统结构遵循了传统的Linux FHS(Filesystem Hierarchy Standard),这是一种标准化的文件系统布局,旨在促进不同Linux发行版之间的兼容性。...

Global site tag (gtag.js) - Google Analytics