net/C#在Linux中使用FileSystemWatcher的限制
<p><strong>问题:</strong> 一些linux系统默认inotify 实例数量小于需要监视的文件数,导致<strong>FileSystemWatcher</strong>不工作,且不异常。</p><p>Linux 内核对 inotify 实例数量和资源消耗有一定的限制。如果系统中使用了大量的 inotify 实例,可能会达到内核的资源限制,从而导致无法创建更多的 inotify 实例。</p>
<p><strong>解决:</strong></p>
<p>改变linux系统的inotify 实例数量</p>
<p>临时改变重启失效:<code>echo 102400 | sudo tee /proc/sys/fs/inotify/max_user_watches</code></p>
<p>永久改变,需重启不失效<br>
1.打开文件<code>sudo vi /etc/sysctl.conf</code><br>
2.添加一行<code>fs.inotify.max_user_watches = 524288</code><br>
3.使其生效<code>sudo sysctl -p</code><br>
4.查看<br>
<code>sysctl fs.inotify.max_user_watches</code></p>
<p><code>cat /proc/sys/fs/inotify/max_queued_events</code></p>
<p><code>cat /proc/sys/fs/inotify/max_user_watches</code></p>
<p><code>cat /proc/sys/fs/inotify/max_user_instances</code></p>
<p><strong>其它问题:</strong></p>
<p>局部的FileSystemWatch变量当工作一段时间会被回收??不工作。</p>
<p><strong>解决:</strong></p>
<p>改变变量为属性或字段;</p><br><br>
来源:https://www.cnblogs.com/csharp-us/p/18964058
頁:
[1]