虽然编写一些unit testing,我打了太多打开的文件(Debian VM)的上限 – “无法打开stream:打开的文件太多”
除了重启之外,有没有办法清除这个块? (即,这些打开但未被访问的文件是否会随着时间的推移被清理?)
Fyi – 我想知道,因为我想要为unit testing设置一个持续集成服务器,如果重启是解决此问题的唯一方法,那么我需要find一种不同的方法来处理某些unit testing。
除非你closures它们或者拥有它们的过程死亡。
您正在使用的用户运行testing的可能性受限于可以打开多less个文件。
您是否尝试增加运行testing的用户的最大打开文件?
要查看用户有多less打开的文件(软和硬):
# ulimit -Hn # ulimit -Sn
有时你需要增加系统的全局最大打开文件也是正常的。 所以试试看,看看是否有帮助。
# sysctl -w fs.file-max=100000
如果你想永久改变最大打开的文件,你需要编辑/etc/sysctl.conf文件,并添加/更改下面的行
fs.file-max = 100000