Ubuntu20.04如何永久修改同一时间打开文件数上限以及解决Too many open files问题

 

 

 

近期遇到一个问题,写的代码同一时间维护的tcp链接过多,导致linux的文件句柄达到上限,出现Too many open files的问题。网上大多回答混乱,在这里做个总结,提醒日后使用。


1.查看命令

ulimit -a


2.临时的修改,关闭终端失效

ulimit -n 204800
或
ulimit -SHn 204800     //S代表soft,超过该值则warning;H代表hard,超过则error;这是同时设置两个值,也可以分开设置

ulimit -Sn 102400
ulimit -Hn 204800


3.永久设置

[处理非图像登录]
sudo vim /etc/security/limits.conf     

打开后,在文件最后添加:

* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

ubuntu系统下,一定要把*改为你自己的用户名。好像是识别不了通配符。centos就没问题。
保存退出。

[处理非图像登录]
然后,在下面的两文件中加入:DefaultLimitNOFILE=204800

sudo vim /etc/systemd/user.conf 
sudo vim /etc/systemd/system.conf 

保存退出即可。


4.重启机器


重启后,测试下

输入 ulimit -n ,查看系统级是否修改成功
输入 su - usrname -c 'ulimit -aHS' -s '/bin/bash'  查看用户级是否修改成功
输入 cat /proc/[PID]/limits   查看进程级是否修改成功


注意:同一时间打开文件上限数量,根据自己的实际需要设定。
————————————————

                            一年之内毫无半点成绩,想起来做人真是没趣。
                        
原文链接:https://blog.csdn.net/qq_26039331/article/details/115253574

posted @ 2024-04-01 21:47  若-飞  阅读(245)  评论(0编辑  收藏  举报