windows中的项目,到了linux后,屡次报出too many files即打开文件过多的错误。 应该有两个解决方向,
1.查看自己的代码中是否存在未关闭的流,如果存在的话,一定要将所有的流全部关闭。
2.可以在linux系统中增加最大句柄数。即open files
输入 ulimit -a 可以查看当前的最大打开句柄数。
然后两种修改方式,第一种只是暂时有效, 输入ulimit -n 4096 就可以短暂将句柄数设置为4096
第二种是修改配置文件 vim /etc/security/limits.conf 然后输入I 进入编辑模式 在文件最后加入
* soft nofile 4096
* hard nofile 4096
或者
* - nofile 8192
然后esc退出编辑模式,输入ZZ保存退出。
重启即可,如果重启后依然不生效,输入 vim /etc/ssh/sshd_config
将
# UseLogin no
换成
UseLogin yes
保存重启,应该就可以了。