Я использую несколько способов перемещения большого размера данных (команды, программы в фоновом режиме, nautilus), иногда эти программы уведомляют меня о завершении процесса, но я вижу, что светодиод моих устройств мигает, и мне нужно знать, работает ли устройство до сих пор в использовании, прежде чем удалить его. Существует ли команда оболочки, чтобы узнать, передает ли устройство данные, показывающие эту информацию?

2 ответа2

1

Вы должны размонтировать устройство перед удалением (не имеет значения с помощью команды umount или из GUI). Если данные по-прежнему передаются - unmount остановится, пока все передачи не будут завершены (GUI может выдать некоторую ошибку, если он не может быть демонтирован в течение некоторого периода времени).

Вы также можете использовать:

  • sync (возможно, несколько раз) для сброса неписанных данных (и размонтирования после);
  • df проверить, не отключено ли устройство, которое вы собираетесь удалить.

PS: umount покажет "Device busy", если какая-то программа все еще имеет открытый файл / папку на этом устройстве (обычно это какая-то оболочка, но вы можете попытаться найти ее с помощью lsof).

1

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 есть хороший пример.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .