Các câu trả lời trên hoạt động rất tốt nhưng nó không giải thích lý do tại sao tôi đang tìm kiếm ở đây để cố gắng trả lời hoàn chỉnh -
Tại sao?
Các chương trình đồng bộ hóa các tệp như dropbox, git, vv sử dụng inotify để thông báo các thay đổi cho hệ thống tệp. Giới hạn có thể được nhìn thấy bởi -
cat /proc/sys/fs/inotify/max_user_watches
Đối với tôi, nó hiển thị 100000 . Khi giới hạn này không đủ để giám sát tất cả các tệp trong một thư mục, nó sẽ đưa ra lỗi này.
Tăng số lượng người theo dõi inotify (Phiên bản ngắn):
Nếu bạn đang chạy Debian, RedHat hoặc một bản phân phối Linux tương tự khác , hãy chạy phần sau trong một thiết bị đầu cuối:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Nếu bạn đang chạy ArchLinux , thay vào đó hãy chạy lệnh sau (xem tại đây để biết lý do):
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
Sau đó dán nó vào thiết bị đầu cuối của bạn và nhấn enter để chạy nó.
Chi tiết kỹ thuật:
Nghe sử dụng inotify theo mặc định trên Linux để theo dõi các thư mục thay đổi. Không có gì lạ khi gặp phải giới hạn hệ thống về số lượng tệp bạn có thể theo dõi. Ví dụ: giới hạn inotify của Ubuntu Lucid (64 bit) được đặt thành 8192.
Bạn có thể nhận giới hạn xem tập tin inotify hiện tại của mình bằng cách thực hiện:
$ cat /proc/sys/fs/inotify/max_user_watches
Khi giới hạn này không đủ để giám sát tất cả các tệp trong một thư mục, giới hạn phải được tăng lên để Nghe hoạt động bình thường.
Bạn có thể đặt giới hạn mới tạm thời bằng:
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
Nếu bạn muốn làm cho giới hạn của mình vĩnh viễn, hãy sử dụng:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Bạn cũng có thể cần chú ý đến các giá trị của max_queued_events và max_user_instances nếu Lắng nghe tiếp tục phàn nàn.
Nguồn: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers