みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

System limit for number of file watchers reached.

Vue.jsのプロジェクトを開発中にサーバーを立ち上げようとしたら,以下のエラーが発生しました.

Error: ENOSPC: System limit for number of file watchers reached, watch ...

Vue.jsはchokidarを使用してファイル変更を監視しているらしく,Ubuntuではinotifyを利用しているそうです.

/proc/sys/fs/inotify/max_user_watches.
This specifies an upper limit on the number of watches that can be created per real user ID. *1

我が家のUbuntu Serverでは8192に設定されていました.

$ cat /proc/sys/fs/inotify/max_user_watches
8192

chokidarのTroubleshootingという項目に解決方法が記載されており,上記の数値を上げればよいみたいです./etc/sysctl.confの最後に,

fs.inotify.max_user_watches=524288

と記載して,再読み込みします.

$ sudo sysctl -p
fs.inotify.max_user_watches = 524288

Vue.jsの開発サーバーが起動するようになりました.上限を上げても大丈夫なのか心配しましたが,しばらく使用してみても特に問題なさそうなので,このまま使用してみます.

ちなみに,चौकीदार はヒンディー語で監視する人を意味するそうです.