【原创】如何在 Linux 下调整可打开文件/文件描述符数目

How do I increase the maximum number of open files under CentOS Linux? How do I open more file descriptors under Linux? 

The ulimit command provides control over the resources available to the shell and/or to processes started by it, on systems that allow such control. The maximum number of open file descriptors displayed with following command (login as the root user). 
ulimit 命令提供了针对 shell  和/或由该 shell 启动的进程占用资源的控制。 

Command To List Number Of Open File Descriptors 

Use the following command to display maximum number of open file descriptors: 

?


1

cat /proc/sys/fs/file-max    -- 显示单个登陆会话允许打开的 fd 数目

Output: 

?


1

75000

75000 files normal user can have open in single login session . To see the hard and soft values, issue the command as follows: 

?


1

2

# ulimit -Hn

# ulimit -Sn

To see the hard and soft values for httpd or oracle user, issue the command as follows: 
通过切换登陆用户,可以查看针对特定登陆用户所设置的 fd 限制数目。 

?


1

# su - username

In this example, su to oracle user, enter: 

?


1

2

3

# su - oracle

$ ulimit -Hn

$ ulimit -Sn

System-wide File Descriptors (FD) Limits 

The number of concurrently open file descriptors throughout the system can be changed via /etc/sysctl.conf file under Linux operating systems. 
系统范围级别的 fd 数量控制需要编辑 /etc/sysctl.conf 内核参数配置文件。 

The Number Of Maximum Files Was Reached, How Do I Fix This Problem? 

Many application such as Oracle database or Apache web server needs this range quite higher. So you can increase the maximum number of open files by setting a new value in kernel variable /proc/sys/fs/file-max as follows (login as the root): 
通过调整内核参数  /proc/sys/fs/file-max 来增加可打开 fd 数目。 

?


1

# sysctl -w fs.file-max=100000   -- 这种方式只能临时修改 fd 数目限制

Above command forces the limit to 100000 files. You need to edit /etc/sysctl.conf file and put following line so that after reboot the setting will remain as it is: 
通过修改 /etc/sysctl.conf 文件,可以在令针对 fd 的修改一直生效。 

?


1

# vi /etc/sysctl.conf

Append a config directive as follows: 

?


1

fs.file-max = 100000  -- 系统范围内修改 fd 数目

Save and close the file. Users need to log out and log back in again to changes take effect or just type the following command: 

?


1

# sysctl -p   -- 不用重启系统令修改生效的方法

Verify your settings with command: 

?


1

# cat /proc/sys/fs/file-max

OR 

?


1

# sysctl fs.file-max

User Level FD Limits 

The above procedure sets system-wide file descriptors (FD) limits. However, you can limit httpd (or any other users) user to specific limits by editing /etc/security/limits.conf file, enter: 
通过修改 /etc/security/limits.conf 文件可以在用户级别对 fd 进行限制。 

?


1

# vi /etc/security/limits.conf

Set httpd user soft and hard limits as follows: 

?


1

2

httpd soft nofile 4096   -- 针对 httpd 用户做 fd 限制

httpd hard nofile 10240

Save and close the file. To see limits, enter: 

?


1

2

3

# su - httpd

$ ulimit -Hn

$ ulimit -Sn

时间: 2025-01-21 01:18:15

【原创】如何在 Linux 下调整可打开文件/文件描述符数目的相关文章

Linux有问必答:如何在Linux下重命名多个文件

Linux有问必答:如何在Linux下重命名多个文件 提问:我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错.你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,r

openni opencv linux-如何在linux下建立一个着openni和opencv的工程?

问题描述 如何在linux下建立一个着openni和opencv的工程? 如何在linux下建立一个着openni和opencv的工程?麻烦大神们详细解说下,不胜感激!!!!

脚本-如何在Linux下批量改C语言的作业?

问题描述 如何在Linux下批量改C语言的作业? 最近接到导师给的一个任务帮本科生改C语言作业.大概的界面是这样的需要测试每种输入: LuYang:CISB110-Programming Practice 1-41826 luyang$ ./mainChoose the type of speed conversion:1. knots to km/h2. km/h to knotsEnter your choice (1 or 2): 0Invalid optionLuYang:CISB110

python-如何在linux下开启守护进程

问题描述 如何在linux下开启守护进程 问题是这样的:我用python写了两个模块:Store.py,Search.py,在这两个文件中,分别会开启Store线程和Search线程.这两个线程是需要一直开启的,如果发现这两个线程挂了,需要重新开启. 我之前的做法是:在linux的begin.sh脚本中写下如下内容: #!/bin/bash python Store.py python Search.py 然后执行./begin.sh. 然后出现下面的问题: 由于Store.py中开启了线程,程

yii-Yii 部署在Linux下 gii 无法打开

问题描述 Yii 部署在Linux下 gii 无法打开 Yii 部署在Linux下 gii 无法打开yii 安装完毕(linux) test 项目建立完毕 ,所有dir 均已设定为 777 ,本地PC访问 打开gii 输入密码仍停留在 gii 登录页面无法登录 `'modules'=>array( // uncomment the following to enable the Gii tool 'gii'=>array( 'class'=>'system.gii.GiiModule'

如何在Linux下使用rsync

如何在Linux下使用rsync 对于各种组织和公司,数据对他们是最重要的,即使对于电子商务,数据也是同样重要的.Rsync是一款通过网络备份重要数据的工具/软件.它同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议.Rsync可以复制或者显示目录并复制文件.Rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件.Rsync必须在远程和本地系统上都安装. rsync的主要好处是: 速度:最初会在本地和远程之间拷贝所有内容.下次,只会传输

如何在linux下做软raid实现方法_unix linux

如何在linux下做软raid?希望以下介绍能对朋友们有所帮助和启发! 在虚拟机系统中添加一块10g的硬盘为sdb,将硬盘分5个逻辑盘分别是sdb{5,6,7,8,9},每个盘的大小是1G. 首先利用其中三块硬盘sdb{5,6,7}建立raid5,sdb8为热备盘. 然后将sdb6作为故障盘下线,之后拔出sdb6,插入新的盘sdb9. 命令如下:mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sdb{5,6,7,8} 通过上面命令建立了使用空间为2G的raid5.盘符为/d

如何在Linux下监控系统温度

大多数情况下,你无需担心你的电脑温度.除非制造上的缺陷,否则硬件设计一般不会使其超过最高工作温度.但即使没有任何硬件故障,各种各样的软件问题也会导致硬件过热,例如,显卡驱动的严重bug,风扇控制程序的错误配置,CPU调频守护进程的故障,等等. 严重的过热可能会对硬件造成永久性的伤害,所以应当时刻小心系统上的任何过热问题.因此,如果有合适的温度监控系统,能在系统温度突然急速上升时,第一时间向用户发出警报,岂不美哉? 本教程,我将描述如何在Linux下监控系统温度. 在Linux下有许多用户级工具可

linux下svn提交忽略某些文件、目录(ignore属性

 svn也是一个目录同步了我们可以用它来做版本控制了,下面一起来看看关于linux下svn提交忽略某些文件.目录(ignore属性),希望例子对各位有帮助.     在项目中,有些文件是不需要将本地的提交到svn仓库,例如config.php文件,特别是定义了绝对路径的,或者是缓存目录.图片目录等,所以为了方便,在每次提交svn的时候,都需要忽略这些文件.目录,避免不慎提交引起团队中其他成员需要修改其本地的版本. linux下用svn propedit svn:ignore命令可以编辑忽略文件.