我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux中3种修改打开文件数量限制的方法分别是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux中3种修改打开文件数量限制的方法分别是什么

这篇文章给大家介绍Linux中3种修改打开文件数量限制的方法分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字。主内存的一个特殊区域是为文件句柄预留的,这个区域的大小决定了一次可以打开多少个文件。Linux上的进程受到许多限制,这些限制也阻碍它们正确地执行,而且每个进程都有几个与之相关的限制。shell限制程序可以同时打开的文件句柄的数量。

系统环境

Centos7

为什么要限制打开文件的数量?

因为操作系统需要内存来管理每个文件,所以可以打开的文件数可能会受到限制。由于程序也可以关闭文件处理程序,它可以创建任意大小的文件,直到所有可用磁盘空间都已满为止。在这种情况下,安全性的一个方面是通过施加限制来防止资源耗尽。

可以看到Linux系统中打开的文件描述符的最大数量,如下所示:

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

该值显示用户每次登录会话可以打开的文件数,你会注意到,结果可能会因系统而异。出于某些原因,可能需要增加限制集的值。这就是为什么Linux系统提供了修改这些限制的可能性(增加或减少),方法是更改每个进程和每个系统打开文件数的最大值。

方法一:使用ulimit命令

ulimit命令可用来增加在shell中打开文件的数量。这个命令是系统内置命令,因此它只影响bash和从它启动的程序。ulimit语法如下:

ulimit  [选项] [限制数值]

下面选项决定了什么是有限的:

  • -a 显示当前所有限制的报告

  • -f (文件限制)限制shell能创建文件的大小

  • -n 限制打开的文件描述符的数量。

  • -H-S 它们分别被设置为硬限制和软限制。硬限制可能不会随之增加,但软限制可能会增加。如果没有提供任何选项,ulimit将同时设置硬限制和软限制。

查看当前打开文件的软限制,可以使用下面命令:

[root@localhost ~]# ulimit -a |grep openopen files                      (-n) 1024或者[root@localhost ~]# ulimit -n1024

如果需要查看硬限制,适应下面命令:

[root@localhost ~]# ulimit -Hn4096

下面修改打开文件的数量:

[root@localhost ~]# ulimit -n 2048

然后来查看一下:

[root@localhost ~]# ulimit -Hn2048[root@localhost ~]# ulimit -Sn2048

Linux中3种修改打开文件数量限制的方法分别是什么
发现,设置ulimit 值的时候,没有指定-H或者-S,两个限制都会设定相同的值。

现在的问题是,如果退出登录或者重新启动计算机,该值将被重置。请记住,要使生效,需要编辑用户的.bashrc或者.bash_profile配置文件,通过将ulimit命令行添加到文件的末尾,可以使参数生效。

[root@localhost ~]# echo "ulimit -n 2048" >> ~/.bashrc

Linux中3种修改打开文件数量限制的方法分别是什么

方法二:使用PAM模块

最好通过名为pam_limits的PAM模块实现这种限制。需要通过编辑/etc/security/limits.conf文件来配置它。这个文件包含四个基本字段:

domain:描述了在哪些实体中应用限制。它可以是user、group(组名前面加@表示组)或匹配所有用户,使用(*)通配符。通配符不适应与root用户。

type:这里表示限制为硬限制还是软限制?硬限制是由系统管理员添加的,在任何情况下都不能超过,而用户可以临时超过软限制。还可以使用破折号-来表示一个限制是硬的和软的。请注意,软限制可以增加到硬限制的值

type:它指定被限制条目的类型。可以是core(限制核心文件大小(KB)),data(最大数据大小(KB)),fsize(最大文件大小(KB)),nofile(打开的文件描述符的最大数目),nproc(最大进程数),等类型。更多类型可以使用man limits.conf查看。

type: 这里使填写应用限制的数值。

下面实例可以对照了解一下。

[root@localhost ~]# tail -12 /etc/security/limits.conf ###*               soft    core            0#*               hard    rss             10000#@student        hard    nproc           20#@faculty        soft    nproc           20#@faculty        hard    nproc           50#ftp             hard    nproc           0#@student        -       maxlogins       4# End of file

Linux中3种修改打开文件数量限制的方法分别是什么
要编辑所有用户打开文件的最大数量,可以在文件末尾添加以下行:

[root@localhost ~]# vim /etc/security/limits.conf * hard nofile 20000* soft nofile 15000

Linux中3种修改打开文件数量限制的方法分别是什么
之后,需要编辑文件/etc/pam.d/login配置文件,在最后添加以下一条内容:

[root@localhost ~]# vim /etc/pam.d/login session    required pam_limits.so

Linux中3种修改打开文件数量限制的方法分别是什么
保存文件。然后退出登录,或者重启系统。可以看到软限制和硬限制的值都修改成功了:

[root@localhost ~]# ulimit -Sn15000[root@localhost ~]# ulimit -Hn20000

方法三

查看系统最大打开文件描述符数量:

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

临时设置该值:

[root@localhost ~]# echo "1000000" > /proc/sys/fs/file-max

Linux中3种修改打开文件数量限制的方法分别是什么
永久性设置,需要在/etc/sysctl.conf中设置,并让它生效:

[root@localhost ~]# echo "fs.file-max = 1000000" >> /etc/sysctl.conf [root@localhost ~]# sysctl -pfs.file-max = 1000000

关于Linux中3种修改打开文件数量限制的方法分别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux中3种修改打开文件数量限制的方法分别是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中3种修改打开文件数量限制的方法分别是什么

这篇文章给大家介绍Linux中3种修改打开文件数量限制的方法分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字。主内存的一个特殊区域是为文件句柄预留的,这
2023-06-28

在Linux中修改打开文件数量限制的3种方法是什么

在Linux中修改打开文件数量限制的3种方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字。主内存的一个特殊
2023-06-28

Linux中怎么修改打开文件数量限制

本篇内容介绍了“Linux中怎么修改打开文件数量限制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统环境Centos7为什么要限制打开文件
2023-06-28

Linux上查找文件的 3 种方法分别是什么

Linux上查找文件的 3 种方法分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。有时候我们在系统上安装了数十个应用第一种:ls最简单的方法就是借助 ls 命令,因为
2023-06-28

编程热搜

目录