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

我知道每个安装的ext3文件系统都会有一个相应的正在运行的进程。 其中一个进程是使用大量的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] 

我怎样才能确定哪个进程与哪个文件系统相关联?

间接的方法是使用blktrace及其便捷命令btraceblktracelogging并显示块级别访问磁盘的情况。 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 

这里显示的字段logging在blkparse联机帮助页中; 第五个字段是执行I / O的进程的PID。 因此,尽pipe我没有办法直接将文件系统关联到文件系统,但是我可以看到哪个进程与特定的块设备关联,然后查看挂载表以查看哪个文件系统受到牵连。