查看: 67|回覆: 0

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

[複製鏈接]

2

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-12-24
發表於 2025-7-3 17:27:00 | 顯示全部樓層 |閲讀模式

问题: 一些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
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部