哪个 kjournald 进程属于哪个文件系统?

哪个 kjournald 进程属于哪个文件系统?

我知道每个挂载的ext3文件系统都会有一个相应的kjournald进程在运行。其中一个进程占用了大量的 CPU,我想知道哪个文件系统是罪魁祸首。

我安装了三个ext3文件系统,但进程仅显示为

root       325     2  0 Sep23 ?        00:30:12 [kjournald]
root      7433     2  0 Sep23 ?        00:00:00 [kjournald]
root      7434     2  0 Sep23 ?        00:09:47 [kjournald]

我如何确定哪个进程与哪个文件系统相关联?

答案1

一种间接的方法是使用blktrace及其便捷命令btraceblktrace记录并显示发生的块级磁盘访问。意味着 btrace您不必记住所有选项blktrace

# btrace /dev/sda1 | grep kjournald
  8,1    5        1     0.000201850   325  Q  WS 451573976 + 8 [kjournald]
  8,1    5        2     0.000393849   325  Q  WS 976637584 + 8 [kjournald]
  8,1    5        3     0.000398641   325  Q  WS 976637592 + 8 [kjournald]
  8,1    5        4     0.000401003   325  Q  WS 976637600 + 8 [kjournald]
  8,1    5        5     0.000404179   325  Q  WS 976637608 + 8 [kjournald]
  8,1    5        6     0.000407446   325  Q  WS 976637616 + 8 [kjournald]
                                      ^^^
                                      pid of kjournald for /dev/sda1

此处显示的字段已在blkparse手册页中记录;第五个字段是执行 I/O 的进程的 PID。因此,尽管我无法直接将kjournalds 与文件系统关联,但我可以查看哪个进程与特定块设备相关联,然后查看挂载表以查看涉及哪个文件系统。

相关内容