OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE) 问题解决
生活随笔
收集整理的這篇文章主要介紹了
OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE) 问题解决
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自己的模塊需要監(jiān)控指定目錄,因?yàn)橐O(jiān)控的目錄過多,創(chuàng)建了很多WatchManager實(shí)例,結(jié)果報(bào)錯(cuò),提示打開太多文件。Google了一下,有提示說修改配置的
//查看 cat /proc/sys/fs/inotify/max_user_instances# 臨時(shí)修改方式1 echo 99999999 > /proc/sys/fs/inotify/max_user_instances# 臨時(shí)修改方式2 sudo sysctl fs.inotify.max_user_watches=524288 sudo sysctl -p# 寫入到文件里,重啟還在 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p雖然提高限制可以解決報(bào)錯(cuò),但是我的項(xiàng)目里實(shí)例會(huì)累積的,再大的數(shù)都有到期的可能。看了下pyinotify的代碼,發(fā)現(xiàn)還有一個(gè)close方法,如下:
# 創(chuàng)建實(shí)例 wm = WatchManager()# 關(guān)閉實(shí)例 wm.close()這樣才最終解決問題。
================================================================================================
Linux應(yīng)用程序、內(nèi)核、驅(qū)動(dòng)、后臺(tái)開發(fā)交流討論群(745510310),感興趣的同學(xué)可以加群討論、交流、資料查找等,前進(jìn)的道路上,你不是一個(gè)人奧^_^。...
?
總結(jié)
以上是生活随笔為你收集整理的OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE) 问题解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python logging动态调整日志
- 下一篇: win7旗舰版通用密码忘记了怎么办 忘记