drop_caches 挂起 1-2 分钟,并在完成之前占用最大 CPU

drop_caches 挂起 1-2 分钟,并在完成之前占用最大 CPU

如果我已经登录 Ubuntu 18.04 图形控制台一段时间并运行:

echo 2 >| /proc/sys/vm/drop_caches
echo 3 >| /proc/sys/vm/drop_caches

这个过程花了将近 2 分钟,而它应该几乎是瞬间完成的。这反过来导致“注销”挂起一分钟以上。同时 CPU 达到 100%。

即使重复运行命令也会发生这种情况。但是,回显1几乎是即时的。

如果我退出图形控制台,则dump_cache几乎立即生效。如果我重新登录图形控制台,则dump_cache开始需要几秒钟,但随着时间的推移将再次恢复到 1-2 分钟——但不确定是什么触发了这种变化。

除了 2 个 xterm 窗口和使用 Ubuntu 18.04 自动启动的任何后台进程外,我没有在控制台中运行任何东西

更一般地说,除了几个屏幕会话、ssh 客户端会话和 emacs 之外,我没有任何其他东西。

Free 显示很少的内存或缓存使用情况:

              total        used        free      shared  buff/cache   available
Mem:            39G        4.7G         33G        209M        1.3G         33G
Swap:            0B          0B          0B

根文件和系统文件存储在 SSD 上,因此写入缓存文件应该非常快。

如图所示,htop所有 4 个处理器的 CPU 使用率均小于 10%。

  • 知道这可能是什么原因造成的吗?
  • 即使第一个 dump_cache 由于积累了“东西”而花费了一段时间,为什么紧随其后的第二个 dump_cache 会花费相同的时间?
  • 鉴于缓存不到 2GB 并且我的磁盘是快速的三星 SSD,为什么转储需要花费近 2 分钟的时间?

相关内容