Автор Тема: Как запустить iotop? [решено]  (Прочитано 5185 раз)

Оффлайн seravkin

  • Давно тут
  • **
  • Сообщений: 62
День добрый!
Как запустить iotop? Из репозитория утилита "iotop is a Python program with a top like UI used to show of behalf of which" установлена, но как ей теперь пользоваться?

# iotop
bash: iotop: команда не найдена
# htop
bash: htop: команда не найдена
« Последнее редактирование: 23.09.2018 14:20:09 от Skull »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как запустить iotop?
« Ответ #1 : 23.09.2018 11:22:11 »
День добрый!
Как запустить iotop? ...
# htop
bash: htop: команда не найдена

Ну как бы... :-)
iotop, это iotop, а htop, это htop.
htop при перенастройке тоже может заменять iotop в каком-то смысле, но не полностью.
I/O - подсистема ввода/вывода; она есть везде, что хоть как-то можно назвать компьютером; даже в компьютерах Микроша и Радио РК-86.
 
$ apt-cache search ^ | grep 'htop\|iotop'
htop - Интерактивный просмотр списка запущенных процессов
iotop - Top like utility for I/O
# rpm -qf $(which htop)
htop-2.0.1-alt1
# rpm -qvl htop | grep bin/
-rwxr-xr-x    1 root    root           161500 мар  9  2016 /usr/bin/htop
# rpm -qf $(which iotop)
iotop-0.6-alt0.M80P.1
# rpm -qvl iotop | grep bin/
-rwxr-xr-x    1 root    root              495 мар 28  2017 /usr/sbin/iotop


День добрый!
Как запустить iotop? ...

Аккумулировать только активные I/O процессы:
# iotop --help | grep ' \-o\| \-a'
  -o, --only            only show processes or threads actually doing I/O
  -a, --accumulated     show accumulated I/O instead of bandwidth
# iotop -oa

iotop запускается только от root или через sudo

Нечто подобное можно сделать и в htop.
В htop:
F2 > Setup > Columns > Active Columns > Command > Available Columns
Добавить:
IO_READ_RATE
IO_WRITE_RATE
IO_RATE

Но htop не умеет аккумулировать. И в случае отказа в доступе будет сообщать для процесса: no perm.

См. также:
https://www.altlinux.org/Управление_пакетами
« Последнее редактирование: 23.09.2018 11:57:14 от Speccyfighter »

Оффлайн seravkin

  • Давно тут
  • **
  • Сообщений: 62
Re: Как запустить iotop?
« Ответ #2 : 23.09.2018 12:29:50 »
Благодарю за столь расширенный ответ! Но пока не взлетает. Я запустил программу с 4 потоками, но процессор нагружен не полностью, результаты хуже, чем в два потока. У меня подозрение, что дело в конкуренции за SQLite базу. Не запускается ни iotop, ни htop. Запускаю под root. После установки перезапускать систему не надо же?

# apt-cache search ^ | grep 'htop\|iotop'
htop - Interactive ncurses-based process viewer for Linux
iotop - Top like utility for I/O
# rpm -qf $(which iotop)
which: no iotop in (/home/basealt/bin:/usr/lib/kf5/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games)
rpmq: не заданы аргументы запроса
# apt-get install iotop
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия iotop уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
[root@Core2quad Загрузки]# iotop --help | grep ' \-o\| \-a'
bash: iotop: команда не найдена


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как запустить iotop?
« Ответ #3 : 23.09.2018 13:20:13 »
Благодарю за столь расширенный ответ! Но пока не взлетает.
...
# rpm -qf $(which iotop)
which: no iotop in (/home/basealt/bin:/usr/lib/kf5/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games)
rpmq: не заданы аргументы запроса
# apt-get install iotop
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия iotop уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
[root@Core2quad Загрузки]# iotop --help | grep ' \-o\| \-a'
bash: iotop: команда не найдена

Ну мужики же... Альты это НЕ Убунту и НЕ Дебиан с убунтовым su:
$ man su | sed -n '6,7p; 9,15p; 36p; 41,42p'
СИНТАКСИС
       su [-|-l] [-c команда] [-s оболочка] [имя_пользователя]
ОПИСАНИЕ
       Su  вызывает  предопределённую  оболочку  другого пользователя. Идентификатор нового пользователя может быть указан посредством аргумента
       имя_пользователя. По умолчанию это суперпользователь (UID=0).

       По умолчанию вызывается непосредственно оболочка пользователя, однако, при указании флага аргумента -, su вызывает оболочку регистрации в
       системе.  Это  значит,  что текущий рабочий каталог будет изменён в домашний каталог нового пользователя и первый аргумент оболочки будет
       иметь префикс -. Это поведение понятно и обрабатывается большинством командных интерпретаторов. В случае вызова  оболочки  регистрации  в
ПАРАМЕТРЫ
       -,-l, --login
              Вызывает оболочку, как оболочку регистрации пользователя в системе.

Если вы не опытный админ или опытный пользователь и не знаете зачем это нужно, никогда так не делайте!
$ whoami
user
$ su
Password:
# whoami
root
# echo $HOME
/home/user
# echo $PATH
/usr/lib/kde3/bin:/usr/lib/kde3/bin:/home/user/bin:/usr/local/bin:/opt/kde3/bin:/usr/bin:/bin:/opt/kde3/games:/usr/games:/usr/X11R6/bin
# iotop
bash: iotop: команда не найдена

Ещё раз:
# rpm -qf $(which iotop)
which: no iotop in (/home/basealt/bin:/usr/lib/kf5/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games)
rpmq: не заданы аргументы запроса

Вы  использовали команду su без минуса, а команда 'su -' есть сокращение полной команды:
$ su --login root

Соответственно, получив права root (и только права!), вы остались пользователем с переменной PATH пользователя, в которой нет /usr/sbin, но не стали пользователем root:
$ echo $USER
user
$ su
Password:
# echo $USER
user
# echo $PATH
/usr/lib/kde3/bin:/usr/lib/kde3/bin:/home/user/bin:/usr/local/bin:/opt/kde3/bin:/usr/bin:/bin:/opt/kde3/games:/usr/games:/usr/X11R6/bin
Команда whoami указывает на имеющиеся у вас права, но не на то кто вы:
# whoami
root
# iotop
bash: iotop: команда не найдена

Сравните:
$ su -
Password:
# echo $USER
root
# echo $PATH
/root/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
# which iotop
/usr/sbin/iotop

https://www.altlinux.org/Su

# rpm -qvl iotop | grep bin/
-rwxr-xr-x    1 root    root              495 мар 28  2017 /usr/sbin/iotop

https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrsbinNonessentialStandardSystemBi
Цитировать
4.10. /usr/sbin : Non-essential standard system binaries

4.10.1. Цель

Этот каталог содержит любые несущественные двоичные файлы, используемые исключительно системным администратором.

А Поттеринг, ломающий FHS, - мудак.
« Последнее редактирование: 23.09.2018 14:43:44 от Speccyfighter »

Оффлайн seravkin

  • Давно тут
  • **
  • Сообщений: 62
Re: Как запустить iotop?
« Ответ #4 : 23.09.2018 13:30:54 »
Ура! Заработало!  :-D

Премного благодарен! Век живи, век учись

Оффлайн Paver

  • Давно тут
  • **
  • Сообщений: 188
Re: Как запустить iotop? [решено]
« Ответ #5 : 24.09.2018 09:01:59 »
Давно вместо "su -" использую "sudo -i"
Может стоит именно этот вариант рекомендовать?

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Как запустить iotop? [решено]
« Ответ #6 : 24.09.2018 10:41:05 »
Давно вместо "su -" использую "sudo -i"
У su нет ключа -i. Есть ключ -l, то же самое что и просто -.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как запустить iotop? [решено]
« Ответ #7 : 24.09.2018 11:13:59 »
Давно вместо "su -" использую "sudo -i"
Может стоит именно этот вариант рекомендовать?

Угу :-)
https://www.altlinux.org/Sudo#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F
http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18
См. первое же предложение ответа в сообщении #19 по ссылке на opennet.

Оффлайн Paver

  • Давно тут
  • **
  • Сообщений: 188
Re: Как запустить iotop? [решено]
« Ответ #8 : 24.09.2018 13:32:03 »
У su нет ключа -i
А кто писал, что есть?

http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18
См. первое же предложение ответа в сообщении #19 по ссылке на opennet.
Афтар не рекомендует использовать ни sudo, ни su. Я же про "из двух зол..."

https://habr.com/post/44783/
« Последнее редактирование: 24.09.2018 13:34:26 от Paver »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как запустить iotop? [решено]
« Ответ #9 : 24.09.2018 14:43:54 »
http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18
См. первое же предложение ответа в сообщении #19 по ссылке на opennet.
Афтар не рекомендует использовать ни sudo, ни su. Я же про "из двух зол..."

https://habr.com/post/44783/

:-) Флаг ему в руки этому хабру. И три кило дусту.
А они там на хабре не написали, что в Debibuntu по-умолчанию timestamp 15 минут, а в альтах он дефолтом в 5 минут?
Это всё равно что в квартире поставить бронированную дверь, но забыть запереть её на замок.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Как запустить iotop? [решено]
« Ответ #10 : 24.09.2018 15:36:20 »
http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18
См. первое же предложение ответа в сообщении #19 по ссылке на opennet.
Афтар не рекомендует использовать ни sudo, ни su.

:-) Афтар в первую очередь не рекомендует использовать ни su, ни sudo. Афтар говорит, что логин root через ttyN предпочтительнее.