GoForum🌐 V2EX

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

Saunak · 2026-07-02 09:58 · 0 次点赞 · 0 条回复

在使用一台多人共享的 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 ?

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: Saunak
发布: 2026-07-02
点赞: 0
回复: 0