Вы могли бы хотя бы начать с iotop. Он не скажет вам, какая файловая система записывается, но она даст вам некоторые процессы для исследования.
sudo apt-get install iotop
sudo iotop
Показывает мгновенные чтения и записи диска и имя команды чтения или записи.
Если вы пытаетесь поймать процесс, который пишет нечасто, вы можете использовать параметр --accumulate или записывать вывод в файл:
sudo -i
iotop --batch > iotop_log_file
Очевидно, что запись файла журнала будет отображаться в результатах, но вы также должны иметь возможность grep для других процессов, записывающих на диск.
К этому моменту вы сможете найти некоторые подозрительные процессы кандидата. В левом столбце в iotop показан pid. Затем выясните, какой файловый дескриптор процесса записывает:
sudo -i
strace -p <pid> 2>&1 | grep write
Вы должны увидеть вывод, как это, когда процесс пишет:
write(1, "\n", 1) = 1
write(4, "test\n", 5) = 5
write(1, ">>> ", 4) = 4
Первый аргумент для записи - файловый дескриптор. Вероятно, мы ищем значения больше 2, потому что 0, 1 и 2 - это только stdin, stdout и stderr. Файловый дескриптор 4 выглядит интересным.
Теперь вы можете узнать, к какому файлу относится файловый дескриптор:
lsof -p <pid>
Который должен выдавать вывод, например:
...
python 23908 rob mem REG 8,1 26258 8392656 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
python 23908 rob 0u CHR 136,5 0t0 8 /dev/pts/5
python 23908 rob 1u CHR 136,5 0t0 8 /dev/pts/5
python 23908 rob 2u CHR 136,5 0t0 8 /dev/pts/5
python 23908 rob 3w REG 0,25 909 9049082 /home/rob/testfile
python 23908 rob 4w REG 0,25 20 9049087 /home/rob/another_test_file
Посмотрите на четвертую колонку. 4w означает, что файловый дескриптор 4 открыт для записи, а файл - another_test_file.
Процесс можно открыть, записать, а затем закрыть файл, и в этом случае lsof не будет показывать Это. Вы могли бы поймать это с помощью:
strace -p <pid> 2>&1 | grep open