net/C#在Linux中使用FileSystemWatcher的限制

问题: 一些linux系统默认inotify 实例数量小于需要监视的文件数,导致FileSystemWatcher不工作,且不异常。

Linux 内核对 inotify 实例数量和资源消耗有一定的限制。如果系统中使用了大量的 inotify 实例,可能会达到内核的资源限制,从而导致无法创建更多的 inotify 实例。

解决:

改变linux系统的inotify 实例数量

临时改变重启失效:echo 102400 | sudo tee /proc/sys/fs/inotify/max_user_watches

永久改变,需重启不失效
1.打开文件sudo vi /etc/sysctl.conf
2.添加一行fs.inotify.max_user_watches = 524288
3.使其生效sudo sysctl -p
4.查看
sysctl fs.inotify.max_user_watches

cat /proc/sys/fs/inotify/max_queued_events

cat /proc/sys/fs/inotify/max_user_watches

cat /proc/sys/fs/inotify/max_user_instances

其它问题:

局部的FileSystemWatch变量当工作一段时间会被回收??不工作。

解决:

改变变量为属性或字段;

来源链接:https://www.cnblogs.com/csharp-us/p/18964058

© 版权声明
THE END
支持一下吧
点赞13 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容