一般在/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;
相关推荐
总结来说,“[Errno 24] Too many open files”是由于系统限制和程序设计不当导致的。通过合理调整系统限制和优化代码,可以有效地解决这个问题。在编程中,了解这些限制并学会正确地管理资源是至关重要的,这样可以...
例如,要限制所有用户的最大打开文件数,可以在`limits.conf`文件中添加一行`* soft nofile 2048`。这里的`*`代表所有用户,`soft`表示软限制,`nofile`表示文件描述符限制,`2048`是限制的数值。硬限制的设置方法...
在CentOS7操作系统中,有时我们需要为特定的用户设置严格的权限控制,比如只允许他们访问特定的目录和文件。在给定的场景中,我们希望为开发同事创建一个名为"loglook"的账户,该账户只能查看位于/home/wwwroot/a...
如果 MySQL 需要打开超过这个限制的文件数,就会出现 "too maney files open" 问题。 解决这个问题的方案是来自 Unix Stack Exchange 上的一个问题,链接是 ...
有两种方法 1、修改配置文件文件 修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到/etc/my.cnf。我使用的是my-...
在Linux中,可以通过`ls -l`命令来查看文件或目录的详细属性,包括文件类型、权限、链接数、所有者、所属组、大小、最后修改时间和名称。权限部分由十位字符组成,前三位表示文件所有者的权限,中间三位是同组用户的...
Linux 6.5和CentOS是两种不同的但密切相关的基础操作系统,它们都基于开源的Linux内核。Yum(Yellowdog Updater, Modified)是RPM包管理器,用于自动化安装、升级、卸载和查询软件包,对于基于RPM的系统如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
- 双系统安装:这指的是在一台电脑上同时安装Windows和Linux Centos两个操作系统,用户可以通过引导菜单在两个系统之间切换。这种方式的优点是可以充分利用Windows系统和Linux系统的优点,但缺点是安装过程相对复杂...
我们想宣布CentOS Linux 8和 所有架构上的新CentOS Stream。 ---------- CentOS Linux 8 这是CentOS Linux 8的第一个版本,版本标记为 8.0-1905,来自Red Hat发布的资源,通过 git.centos.org 首先,请仔细阅读发行...
【标题】:“centos7-linux镜像文件”指的是CentOS 7操作系统的虚拟机镜像文件,这种文件通常用于在虚拟化环境中安装和运行CentOS 7系统。它包含了操作系统的所有核心组件、预装软件以及必要的配置信息,使得用户...
在 CentOS 7 系统中,网络配置的管理方式与早期版本有所不同,主要采用了 Network Manager 这一服务来管理网络接口。有时,我们可能会遇到修改 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件后,...
在 VMWare 环境中修改 CentOS 的 IP 地址需要配置正确的网络设置,包括修改 IP 地址、网关和子网掩码,并使用 WinSCP 和 PuTTY 实现文件传输和远程访问。 知识点: 1. VMWare NAT 网络环境配置 2. 修改 IP 地址和...
2. **文件和目录操作** (Linux上机实验4-文件和目录操作(1).doc、Linux上机实验7-文件和目录权限设置.doc) - 命令行操作:如`ls`, `cd`, `mkdir`, `rm`, `cp`, `mv`等,用于浏览、创建、删除、复制和移动文件和...
### Linux CentOS ISO镜像文件详解 #### CentOS简介 CentOS是一种免费提供的企业级计算平台,它与Red Hat Enterprise Linux(RHEL)高度兼容。CentOS的版本通常与RHEL的版本相对应,这意味着用户可以获得类似的...
这是一个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,作为一个基于Red Hat Enterprise Linux的开源发行版,其文件系统结构遵循了传统的Linux FHS(Filesystem Hierarchy Standard),这是一种标准化的文件系统布局,旨在促进不同Linux发行版之间的兼容性。...