Ubuntu 深度学习服务器 Dirty Pages 堆积:如何判断是用户进程写入还是磁盘写回卡顿?

Saunak 2026-07-02 09:57 1

在使用一台多人共享的 Ubuntu 深度学习服务器,实际运行在 KVM 虚拟机中,根盘为 virtio 块设备 /dev/vda,文件系统 ext4 。


近期现象(之前一年多都正常):Dirty pages 异常堆积,iostat 显示 /dev/vda%util 长期 100%,但吞吐极低,r_await/w_await 曾达数秒,系统日志出现 systemd-udevd/systemd-timesyncd watchdog timeout 及 kernel hung task 。


已临时将根分区挂载选项从 discard,commit=30 改为 nodiscard,commit=5,并启用 fstrim.timer


上述清楚下 CPU 和内存占用都不高。


请教各位如何诊断故障原因:




  1. 这种现象更可能是某个用户进程大量写入导致 Dirty 增长,还是底层 I/O ( ext4/jbd2/virtio-blk/KVM 宿主机存储)写回 stall ?




  2. 在多人使用的深度学习服务器上,如何定位具体是哪个用户、哪个进程、哪个目录在产生 Dirty pages ?




  3. 如何判断问题是否与近期使用的 vscode 的 Codex 插件 的 goal 任务模式有关?一个月前使用 goal 正常,但是近期不知道是否出现 bug




  4. 在 virtio 磁盘上使用 online discard 是否会放大这种 I/O stall ?



最新回复 (1)
  • zizon 07-02 12:32
    1
    host 负载变高了所以 vm 的 clock 变慢了吧.
* 帖子来源V2EX
返回