Iotop is open source en gratis, vergelijkbaar met de top opdracht, dat een gemakkelijke manier biedt om details van Linux schijf-I/O-activiteit te monitoren en een tabel met bestaand I/O-gebruik per proces of thread weer te geven.
Iotop is gebaseerd op Python en heeft de Kernel accounting functie nodig om processen te monitoren en weer te geven. Het is een handig hulpmiddel voor systeembeheerders om het specifieke proces op te sporen dat de oorzaak kan zijn van een hoge schijf I/O lezen/schrijven.
De Kernel functie kan je enkel activeren tijdens het opstarten van het systeem. Bij het verschijnen van het GNU GRUB Boot menu (blijft standaard 6 seconden staan), druk je op de e toets. Je kunt de standaard opstartprocedure nu wijzigen (editeren). Voeg achteraan de regel:
linux /boot/vmlinuz-6.1.0-13-amd64 root=UUID=a1234b5c-67d8-9ef0-abcd-e1234fa56789 ro quiet
de optie delayacct
toe (AZERTY gebruikers opgelet: tijdens het opstarten heb je een QWERTY indeling):
linux /boot/vmlinuz-6.1.0-13-amd64 root=UUID=a1234b5c-67d8-9ef0-abcd-e1234fa56789 ro quiet delayacct
Druk op de toets F10 om éénmalig met deze aangepaste configuratie op te starten.
dany@pindabook:~$ sudo apt install iotop
[sudo] wachtwoord voor dany:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
iotop
0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 24,1 kB aan archieven opgehaald worden.
Na deze bewerking zal er 109 kB extra schijfruimte gebruikt worden.
Ophalen:1 http://deb.debian.org/debian bookworm/main amd64 iotop amd64 0.6-42-ga14256a-0.1+b2 [24,1 kB]
24,1 kB opgehaald in 0s (653 kB/s)
Voorheen niet geselecteerd pakket iotop wordt geselecteerd.
(Database wordt ingelezen ... 174592 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../iotop_0.6-42-ga14256a-0.1+b2_amd64.deb wordt voorbereid...
Bezig met uitpakken van iotop (0.6-42-ga14256a-0.1+b2) ...
Instellen van iotop (0.6-42-ga14256a-0.1+b2) ...
update-alternatives: /usr/sbin/iotop-py wordt gebruikt om in de automatische modus in /usr/sbin/iotop (iotop) te voorzien
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Op zijn eenvoudigst kun je iotop uitvoeren zonder argumenten zoals in het voorbeeld.
Je krijgt een lijst van draaiende processen, samen met informatie over hun huidige schijf-I/O-gebruik:
De kop van elke kolom spreekt voor zich, maar er zijn hier twee belangrijke dingen om rekening mee te houden:
Met de optie -o
of --only
toont Iotop enkel de huidige processen of threads die daadwerkelijk I/O uitvoeren, in plaats van alle processen of threads weer te geven.
Om meer te weten te komen over het gebruik, de opties en sneltoetsen van de iotop opdracht, voer je de volgende opdracht uit:
dany@pindabook:~$ /usr/sbin/iotop --help
Usage: /usr/sbin/iotop [OPTIONS]
DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling
period. SWAPIN and IO are the percentages of time the thread spent respectively
while swapping in and waiting on I/O more generally. PRIO is the I/O priority
at which the thread is running (set using the ionice command).
Controls: left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, i to change I/O priority, q to
quit, any other key to force a refresh.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-o, --only only show processes or threads actually doing I/O
-b, --batch non-interactive mode
-n NUM, --iter=NUM number of iterations before ending [infinite]
-d SEC, --delay=SEC delay between iterations [1 second]
-p PID, --pid=PID processes/threads to monitor [all]
-u USER, --user=USER users to monitor [all]
-P, --processes only show processes, not all threads
-a, --accumulated show accumulated I/O instead of bandwidth
-k, --kilobytes use kilobytes instead of a human friendly unit
-t, --time add a timestamp on each line (implies --batch)
-q, --quiet suppress some lines of header (implies --batch)
--no-help suppress listing of shortcuts
Nog meer informatie krijg je bij het opvragen van de man pagina:
Iotop kunnen we in de terminal verwijderen met de opdracht:
dany@pindabook:~$ sudo apt purge iotop
[sudo] wachtwoord voor dany:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
iotop*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 2 niet opgewaardeerd.
Na deze bewerking zal er 109 kB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n]
(Database wordt ingelezen ... 181075 bestanden en mappen momenteel geïnstalleerd.)
iotop (0.6-42-ga14256a-0.1+b2) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...