一般在/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 使配置生效
查看整个系统目前使用的文件句柄数量命令:
- cat /proc/sys/fs/file-nr
辅助命令:
查找文件句柄问题的时候,还有一个很实用的程序 lsof,可以很方便看到某个进程开了哪些句柄 :
- lsof -p pid
某个进程开了几个句柄 :
- lsof -p pid |wc -l
也可以看到某个目录 /文件被什么进程占用了,显示已打开该目录或文件的所有进程信息 :
除了修改系统级参数外,有些需要设置软件本身的配置,比如:nginx在 nginx.conf
中指定worker_process可以使用的nofile值worker_rlimit_nofile 8192;
相关推荐
centos7-linux-VMware镜像文件
linux CentOS中文用户手册
centos配置openmeetings
centos7下使用命令查看系统的cpu个数、cpu核心数、cpu线程数
CentOs7修改网卡配置文件不生效-亲测有效,可以通过nmcli命令进行修改,修改后重启虚拟机生效即完成,如果不生效说明虚拟机启动时获取IP地址的配置文件不是eth0,将其余网卡配置文件修改或删除即可。
有两种方法 1、修改配置文件文件 修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到/etc/my.cnf。我使用的是my-...
Linux CentOS Mysql修改默认端口.docx
centos单用户模式修改ROOT密码 - centos 单用户模式修改
要求给开发同事开设一个查看日志的账号,并限制其只能访问该目录下的单一文件
这是一个centos的镜像文件,用于在装虚拟机的时候可以在后面把它添加进去
centos 和 linux 6.5 yum包,支持在linux6.5上安装下列三个包。
centos-linux-iso各个版本的光盘映像文件,适用于PC机、虚拟机VMware安装的linux系统镜像文件,供大家下载参考使用。
Linux修改文件及文件夹权限的命令详解
centos5.7 centos centos种子文件 linux
Linux学习之CentOS
CentOS 7内核更新至3.10.0、支持Linux容器、支持Open VMware Tools及3D图像即装即用、支持OpenJDK-7作为缺省JDK、支持内核空间内的iSCSI及FCoE、支持PTPv2等功能。 CentOS 7更新内核版本为3.10.0,新版本的内核将对...
linux centos mysql配置文件说明.docx
Centos6.5镜像文件 Linux。。
Linux Centos系统安装手册
CentOS 7 2009版镜像文件,内附下载安装全套教程 CentOS 7是CentOS项目发布的开源类服务器操作系统,于2014年7月7日正式发布。 [1] CentOS 7是一个企业级的Linux发行版本,它源于RedHat免费公开的源代码进行再发行...