Watcher icon indicating copy to clipboard operation
Watcher copied to clipboard

OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE)

Open MikhailKasimov opened this issue 6 years ago • 3 comments

Hello!

Have got such multiple trace in server's log:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 812, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 1511, in run
    self.loop()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 1497, in loop
    self.process_events()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 1295, in process_events
    self._default_proc_fun(revent)
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 937, in __call__
    return _ProcessEvent.__call__(self, event)
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 662, in __call__
    return meth(event)
  File "/root/Watcher/watcher.py", line 247, in process_IN_CREATE
    self.runCommand(event)
  File "/root/Watcher/watcher.py", line 227, in runCommand
    prefix)
  File "/root/Watcher/watcher.py", line 300, in addWatch
    wm = pyinotify.WatchManager()
  File "/usr/lib/python2.7/site-packages/pyinotify.py", line 1747, in __init__
    raise OSError(err % self._inotify_wrapper.str_errno())
OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE)

Need some hint on further investigation here. Thanks!

MikhailKasimov avatar Oct 09 '18 09:10 MikhailKasimov

It would probably be useful to figure out what open files are on your server (I would google this problem for your specific platform -- there are ways to increase the limit on linux, but it might be distro dependent).

Posting your config for watcher would be helpful too.

gregghz avatar Nov 09 '18 18:11 gregghz

This is a common problem on Linux systems in my experience. You can just sidestep it. But @gregghz has an important point - you should understand why you're out of inotify handles.

https://stackoverflow.com/questions/32281277/too-many-open-files-failed-to-initialize-inotify-the-user-limit-on-the-total

or

$ cat /proc/sys/fs/inotify/max_user_instances $ sudo sh -c "echo 8192 > /proc/sys/fs/inotify/max_user_instances"

andygikling avatar May 21 '21 19:05 andygikling

This is a common problem on Linux systems in my experience. You can just sidestep it. But @gregghz has an important point - you should understand why you're out of inotify handles.

https://stackoverflow.com/questions/32281277/too-many-open-files-failed-to-initialize-inotify-the-user-limit-on-the-total

or

$ cat /proc/sys/fs/inotify/max_user_instances $ sudo sh -c "echo 8192 > /proc/sys/fs/inotify/max_user_instances"

@andygikling its working now

apton-marimanohar avatar Feb 23 '22 10:02 apton-marimanohar