求大神解释: inotify 的 max_user_watches 耗尽,导致 No space left on device

2020-04-24 18:50:14 +08:00
 SKYNE

如题,查阅了很多资料,没找到具体为什么这个参数会导致 No space left on device 网上的资料多数是磁盘未满,inode 未满,然后调大此参数,参数生效即可解决该问题。 但对这个深层次的原因没有找到相关的资料,可能自己一根筋,总想知道为什么。。。

2008 次点击
所在节点    程序员
6 条回复
superhan
2020-04-24 21:46:45 +08:00
研究一下文件系统 应该能提升一波
SKYNE
2020-04-25 16:16:00 +08:00
@superhan 没这个实力
fakevam
2020-04-25 17:09:50 +08:00
因为内核资源耗尽,统一返回 NOMEM,这个 errno 的语义不限于 MEM,一般是指某种资源

举个例子,你设置 cgroup,如果没设置 memory 允许的 numa node,直接去设置 cpu 的列表,也会返回这个 errno
SKYNE
2020-04-25 17:50:19 +08:00
@fakevam 没看懂。。。
fakevam
2020-04-25 19:34:07 +08:00
意思就是说,内核很多报错,不是所有场合都和你理解的那个 errno 的字面意思一样

NO space left on device 未必是真的 no space left,可能只是某个抽象资源用完了

no mem 也是一个意思
SKYNE
2020-04-25 21:38:28 +08:00
@fakevam 抽象资源,好像有点明白了,多谢多谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX