You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

执行echo "1" > /proc/sys/vm/drop_caches触发Segmentation fault的问题求助

执行echo "1" > /proc/sys/vm/drop_caches触发Segmentation fault的问题求助

各位好,想请教一个挺奇怪的问题:

我之前写了个脚本,用来定期检查系统缓存占用,当可用内存不足时自动清理缓存。为了避免清理得太激进,脚本会先执行echo "1" > /proc/sys/vm/drop_caches,要是清理后内存还是不够,再尝试用level 2或3的清理命令。之前这套逻辑一直运行得好好的,但最近突然出问题了:

  • 脚本里执行level 1的清理命令完全没效果
  • 手动直接执行这个命令会直接断开我的SSH会话
  • sudo echo "1" > /proc/sys/vm/drop_caches执行的话,会触发Segmentation fault,缓存也根本清不掉

但诡异的是,执行level 2(echo "2" > /proc/sys/vm/drop_caches)或level 3的清理命令却完全正常,能顺利清掉缓存,这说明/proc/sys/vm/drop_caches这个文件并没有被锁定无法写入,偏偏只有level 1的操作会出问题。

我试过重启机器,重启后level 1的命令又能正常工作了,但过段时间又会复发。现在我已经把脚本改成只使用level 2了,但这个问题已经在多台机器上出现过——这些机器运行的是不同版本的Ubuntu(从20到24都有),所以我特别想搞清楚到底是什么原因导致的。

另外,我从内核日志里也看到了对应的Segmentation fault记录。

有没有大佬遇到过类似的情况,或者能给点排查方向的?

备注:内容来源于stack exchange,提问作者user2280032

火山引擎 最新活动