我运行的是 Ubuntu 23.04 系统,具有 32 GB 的 RAM,并且打开了大约 10 个 nspawn 容器。
我已经设定了fs.inotify.max_user_watches = 120000000
,但仍然
Failed to allocate directory watch: Too many open files
这是什么原因造成的?我还能将这个观看次数增加多少?
答案1
6000000
我在一台有足够可用内存的 64gb 机器上设置了fs.inotify.max_user_watches
这里找到上限的一个可能的解决方案是:
sysctl -w fs.inotify.max_user_watches=1000000
并不断增加一百万,直到达到机器的极限(或查看LXD 生产设置- 以 的倍数
1048576
递增
我还发现计算最大限制的一些信息:
硬上限由您愿意或能够为此用途分配多少内核内存来控制。一个 inotify 监视在 32 位架构上占用 540 字节内核内存,在 64 位架构上占用 1080 字节内核内存。使用应用程序可能会有额外的开销。
- 您可以设置的实际限制将由内核可用的内存量决定。