Я использую несколько способов перемещения большого размера данных (команды, программы в фоновом режиме, nautilus), иногда эти программы уведомляют меня о завершении процесса, но я вижу, что светодиод моих устройств мигает, и мне нужно знать, работает ли устройство до сих пор в использовании, прежде чем удалить его. Существует ли команда оболочки, чтобы узнать, передает ли устройство данные, показывающие эту информацию?
2 ответа
Вы должны размонтировать устройство перед удалением (не имеет значения с помощью команды umount
или из GUI). Если данные по-прежнему передаются - unmount остановится, пока все передачи не будут завершены (GUI может выдать некоторую ошибку, если он не может быть демонтирован в течение некоторого периода времени).
Вы также можете использовать:
sync
(возможно, несколько раз) для сброса неписанных данных (и размонтирования после);df
проверить, не отключено ли устройство, которое вы собираетесь удалить.
PS: umount
покажет "Device busy", если какая-то программа все еще имеет открытый файл / папку на этом устройстве (обычно это какая-то оболочка, но вы можете попытаться найти ее с помощью lsof
).
iostat
- это самый простой способ отследить, сколько трафика идет на диск. Просто запустите iostat
< интервал в секундах >, и он покажет вам активность на каждом устройстве. Его первый вывод - это активность со времени загрузки, поэтому подождите хотя бы второй вывод.
[admin@centos6 ~]$ iostat 30
Linux 2.6.32-358.0.1.el6.x86_64 (centos6) 20/09/14 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
6.92 0.01 0.41 0.42 0.00 92.24
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 2.64 48.41 247.81 5396088 27622750
dm-0 1.67 42.88 1.44 4779498 161072
dm-1 0.05 0.05 0.35 5840 39104
dm-2 29.65 3.31 236.22 368442 26330928
dm-3 0.16 0.04 1.28 4610 142128
dm-4 1.08 0.43 8.51 48194 949032
avg-cpu: %user %nice %system %iowait %steal %idle
94.60 0.00 3.96 1.44 0.00 0.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 14.12 122.78 2437.28 3504 69560
dm-0 241.00 118.01 1901.61 3368 54272
dm-1 59.88 0.00 479.05 0 13672
dm-2 0.14 1.12 0.00 32 0
dm-3 0.18 0.00 1.40 0 40
dm-4 7.32 3.08 55.22 88 1576
^C
[admin@centos6 ~]$
Если вы хотите отслеживать, какие процессы записывают на какой диск, вам нужен SystemTap. На сайте Red Hat есть хороший пример.