linux将最大文件数增大,增加Linux中最大打开文件数

如果您使用的是Linux,则必须多次遇到“打开文件过多(24)”错误。Linux操作系统提供了一种限制每个用户可以使用的文件数量的方法。本文提供有关如何增加Linux操作系统中打开的文件或文件描述符数量的见解。

ulimit命令可以控制shell或进程,并且需要以root用户身份登录。该的ulimit命令用于设置仅适用于当前会话的文件限制。

使用以下命令显示打开文件描述符的最大数量-# cat /proc/sys/fs/file-max

801841

在上面的命令中,用户可以在单个登录会话中打开801841文件。要查看文件描述符的硬值和软值,请使用以下命令:

文件描述符的硬值

硬值限制只能由root用户修改。非root用户不能超过硬限制。

我们可以使用以下命令检查硬值–$ ulimit -Hn

4096

在上面的命令中,“ H”选项表示硬值,“ n”表示文件数。

文件描述符的软值

可以通过用户进程随时修改软值限制。它用于禁用核心转储。

我们可以使用以下命令检查硬值–$ ulimit -Sn

1024

在以上命令中,“ S”选项表示软值,“ n”表示文件数。

修复“打开文件过多”错误

通过在内核变量/ proc / sys / fs / file-max中设置一个新值,可以增加打开文件的最大数量,如下所示:$ sysctl -w fs.file-max=100000

fs.file-max = 100000

上面的命令将最大打开文件数限制为100000,这适用于特定会话。如果您想终身使用此值,则需要编辑/etc/sysctl.conf文件并放入以下行–$ vi /etc/sysctl.conf

样本输出应如下所示–........

#

# Do not send ICMP redirects (we are not a router)

#net.ipv4.conf.all.send_redirects = 0

#

# Do not accept IP source route packets (we are not a router)

#net.ipv4.conf.all.accept_source_route = 0

#net.ipv6.conf.all.accept_source_route = 0

#

# Log Martian Packets

#net.ipv4.conf.all.log_martians = 1

#fs.file-max = 50000

将文件最大值替换为100000并保存。用户需要注销并再次登录才能使更改生效,或者只需键入以下命令–$ sysctl -p

要验证它,请使用以下命令–$ cat /proc/sys/fs/file-max

样本输出应如下所示–$ cat /proc/sys/fs/file-max

100000

用户级别文件描述符限制

上面的过程描述了系统级文件描述符限制。但是,我们可以设置用户级别的文件描述符限制。要指定用户级别文件描述符限制,可以通过编辑/etc/security/limits.conf文件来实现。

要编辑文件,请使用以下命令–$ vi /etc/security/limits.conf

样本输出应如下所示–.....

#*        soft       core       0

#root     hard       core       100000

#*        hard       rss        10000

#@student hard       nproc      20

#@faculty soft       nproc      20

#@faculty hard       nproc      50

#ftp      hard       nproc      0

#ftp      -          chroot     /ftp

#@student -          maxlogins 4

将以下行追加到limits.conf文件中–#tp    soft    nofile    4096

#tp    hard    nofile    10240

这里TP是系统的用户名。保存并关闭文件。要查看限制,请使用如上所示的ulimits命令。

恭喜你!现在,您知道“如何增加打开的文件或文件描述符的最大数量”。在下一篇Linux文章中,我们将学习有关这些命令类型的更多信息。继续阅读!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值