Назад | Перейти на главную страницу

Какой процесс 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]

Как я могу определить, какой процесс связан с какой файловой системой?

Косвенный способ сделать это - использовать blktrace и его удобная команда btrace. blktrace записывает и отображает доступ к дискам на уровне блоков, когда это происходит. 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 manpage; пятое поле - это PID процесса, выполняющего ввод / вывод. Итак, хотя у меня нет возможности напрямую связать kjournalds для файловых систем, я могу увидеть, какой процесс связан с конкретным блочным устройством, а затем посмотреть на таблицу монтирования, чтобы увидеть, какая файловая система задействована.