@mkone112
Начинающий питонист.

Как вывести текущий процент загрузки диска в терминале, по аналогии с диспетчером задач Windows?

Ожидание:
$ <some_magick_command>
>>
sda    50%
sdb    37%

При этом не вывод новых строк, а обновление текущего экрана, как в top - т.е. в терминале всегда должно отображаться скажем 2 строки с текущей загрузкой.
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Tabletko
Системный администратор
используйте iotop или iostat
Ответ написан
xotkot
@xotkot
хорошо есть и хорошо весьма
как-то так:
DISK=(/dev/nvme0n1 /dev/loop0)
TIME=2
while :; do
	i=$(iostat -dsxy $TIME 1 -o JSON ${DISK[*]} | jq -r '.sysstat.hosts[].statistics[].disk[] | "\(.disk_device)\t\(.util) %"')
	clear
	echo -n -e "$i\n"
done

диски и время ставим свои
вывод:
loop0	0.35 %
nvme0n1	0.42 %

p.s.
но на сколько я могу судить значение util утилиты iostat подойдёт разве что для жестких дисков, если исходить из описания

%util
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.
Ответ написан
@pfg21
ex-турист
взять выхлоп df и отфильтровать под свои нужды.
$ df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda1             4.0G  2.4G  1.5G  62% /
    /dev/sda2              29G   14G   14G  50% /usr
    /dev/sda3              62G  2.6G   56G   5% /var
    tmpfs                 512M   60K  512M   1% /tmp


для интерактивности поиграться с tmux
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы