Linux最大打开文件描述符数

摘要:
要使修改永久化,您需要在/etc/security/limits.conf中设置它。您可以添加以下两行,表示用户chanon打开的文件描述符的最大数量的软限制为1800000,硬限制为2000000。以下设置需要注销,然后再次登录才能生效:chanonsoftnofile1800000 chanonhardnofile2000000设置nofile的硬限制。请注意,硬限制不能大于/proc/sys/fs/nr_Open,如果硬限制大于nr_Open则在注销后无法正常登录。

1.    系统最大打开文件描述符数:/proc/sys/fs/file-max

a.    查看

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

186405

2. 设置

a.    临时性

# echo 1000000 > /proc/sys/fs/file-max

2.    永久性:在/etc/sysctl.conf中设置

fs.file-max = 1000000

淘宝、天猫、聚划算,商家短期打造爆款,秒杀、咚咚抢、优惠券,应有尽有,只有您想不到,没有做不到,开心购呀购(网址:www.kxgba.com,微信小程序搜索:开心购呀购),您的购物好助手!

Linux最大打开文件描述符数第1张

 

2.    进程最大打开文件描述符数:user limit中nofile的soft limit

a.    查看

$ ulimit -n

1700000

2. 设置

a.    临时性:通过ulimit -Sn设置最大打开文件描述符数的soft limit,注意soft limit不能大于hard limit(ulimit -Hn可查看hard limit),另外ulimit -n默认查看的是soft limit,但是ulimit -n 1800000则是同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。

查看hard limit:

$ ulimit -Hn

1700000

设置soft limit,必须小于hard limit:

$ ulimit -Sn 1600000

2.    永久性:上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。以下设置需要注销之后重新登录才能生效:

chanon           soft    nofile          1800000

chanon           hard   nofile          2000000

设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值:

# echo 2000000 > /proc/sys/fs/nr_open

 

3.    查看当前系统使用的打开文件描述符数

[root@localhost bin]# cat /proc/sys/fs/file-nr

5664        0        186405

其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。

 

4.    总结:

a.    所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

b.    单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

c.    nofile的soft limit不能超过其hard limit

d.    nofile的hard limit不能超过/proc/sys/fs/nr_open

免责声明:文章转载自《Linux最大打开文件描述符数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ajax传输数据request.getParameter("key")获取为空《MinDoc 接口文档在线管理系统》下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux添加用户组和删除用户组

1.添加用户组使用groupadd命令添加用户组:groupadd group_name此操作需由系统管理员进行。2.删除用户组使用groupdel命令删除用户组:groupdel group_name此操作需由系统管理员进行。3.定义组管理员使用gpasswd命令指定组管理员:gpasswd-A user group_name此操作需由系统管理员进行。4...

【 Linux 】Systemd 使用说明(1)

1. 前言   在 CentOS 7 中使用 systemd 取代了 init 的启动模式,这样的更新换代有什么好处呢?首先需要对 init 和 systemd 有个概念的认识。 2. init 概述   在 CentOS 7 之前的版本中,init 作为第一个启动进程,是所有进程的父进程。使用 init 有两个显著的缺点:   (1)启动时间长。init...

linux MD5 SHA1 等 文件校验方法

为解决官方发布的软件包被别人更改或者软件在传输过程中出现传输错误等问题,软件官方在提供软件包的同时,还提供一个保存MD5校验码的文件。 Linux/unix中可以使用 md5sum 文件名   sha1sum 文件名 将会直接输出校验值 也可以将校验值存入文件夹中 md5sum 文件名  > 文件名.txt sha1sum 文件名  > 文件名...

linux驱动学习(2)beep驱动

今天拿beep程序练手,主要学习linux driver的开发流程和内核编程相关的重要接口。 弄完之后就要写uart驱动了。 参考书籍:《华清远见 linux驱动开发详解》 开发板:tq2440 下面是tq2440的蜂鸣器电路的电路图: 核心板: 可知,通过对TOUT0/GPB0进行编程可控制蜂鸣器 而对于s3c2440的gpio来说,只需要设...

kvm虚拟机管理(2)

一、virt-manager创建虚机(1)首先通过命令 virt-manager 启动图形界面:点下面的图标创建虚机 (2)给虚机命名为 kvm1,这里选择从哪里启动虚机。如果是安装新的 OS,可以选择第一项。如果已经有安装好的镜像文件,选最后一项(如下图)。  (3)接下来需要告诉 virt-manager 镜像的位置,点击 “Browser” (...

linux_磁盘挂载

1. 添加磁盘,查看磁盘状况      [root@db1 /]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes  ...