None

5 Linux-Befehle gegen Speed-Probleme

So messen Sie unter Linux, wie stark Ihre Festplatten beansprucht werden.pirke | shutterstock.com



Linux stellt eine ganze Reihe nützlicher Befehle zur Verfügung – auch, um die Festplattenaktivität, beziehungsweise -auslastung zu messen. In diesem Artikel stellen wir Ihnen fünf dieser Optionen vor, die besonders einfach einzusetzen sind.



Insbesondere wenn Sie unter Linux mit Geschwindigkeitsproblemen zu kämpfen haben, kann es sich lohnen, diese Kommandos einzusetzen, um die Wurzel des Speed-Übels zu ermitteln.



1. dstat



Einer der simpelsten Befehle zu diesem Zweck ist dstat. Dieses Kommando liefert auch deutlich mehr Statistiken als nur zur reinen Festplattenaktivität – beispielsweise Einblicke in die CPU-Auslastung. Wenn Sie dstat ohne zusätzliche Spezifizierung verwenden, sieht der Daten-Output folgendermaßen aus:  



$ dstatYou did not select any stats, using -cdngy by default.----total-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai stl| read writ| recv send| in out | int csw 1 0 99 0 0| 0 0 | 54B 658B| 0 0 | 116 168 1 0 99 0 0| 0 36k| 54B 338B| 0 0 | 88 138 0 0 99 0 0| 0 0 |7501B 354B| 0 0 | 62 113 1 1 97 2 0| 0 1416k| 54B 354B| 0 0 | 159 233 0 0 99 0 0| 0 0 | 157B 370B| 0 0 | 99 134 0 0 99 0 0| 0 0 | 54B 354B| 0 0 | 78 113 1 0 99 0 0| 0 0 | 16k 424B| 0 0 | 107 145 0 0 100 0 0| 0 0 | 500B 354B| 0 0 | 70 123 1 0 99 0 0| 0 0 | 54B 354B| 0 0 | 81 127 0 0 99 0 0| 0 0 | 54B 354B| 0 0 | 84 128 0 0 99 0 0| 0 272k| 54B 354B| 0 0 | 93 147 0 1 98 0 0| 0 124k| 54B 354B| 0 0 | 243 387 ^C



Mit dem folgenden Befehl zeigen Sie nur die mit Blick auf Memory- und CPU-Nutzung wichtigsten Prozesse an:



$ dstat --top-mem --top-cpu--most-expensive-- -most-expensive- memory process | cpu processgnome-softwa 511|gnome-softwa 511|btrfs-transa 0.5gnome-softwa 511|pmdaproc 1.0gnome-softwa 511|python3 1.5gnome-softwa 511|kworker/u4:0 1.5



Um ausschließlich die Festplattenaktivität anzuzeigen, nutzen Sie die Option -d. Das erzeugt eine fortlaufende Liste von Read/Write-Messungen – bis Sie es mit der Eingabe von ^c stoppen. Zu beachten ist dabei, dass nach dem ersten Report jede nachfolgende Zeile die Festplattenaktivität im folgenden Zeitintervall angibt. Dabei liegt die Default-Einstellung bei nur einer Sekunde.



$ dstat -d-dsk/total- read writ 949B 73k 65k 0



Wenn Sie nach -d eine Zahl angeben, wird das Intervall auf diese Anzahl von Sekunden festgelegt:



$ dstat -d 10-dsk/total- read writ 949B 73k 65k 81M



Das dstat-Kommando ermöglicht wertvolle Einblicke in die Gesamtleistung von Linux-Systemen. Der flexible und performante Befehl vereint dabei die Funktionen einer ganzen Reihe von älteren Tools wie vmstat, netstat, iostat und ifstat. Tiefergehende Informationen hält dieser (englischsprachige) Artikel bereit.



2. iostat



Geht es darum, die Auslastung von System-Input- und -Output-Devices zu monitoren, kommt der Befehl iostat ins Spiel. Dieser misst die Zeit, die die Geräte aktiv sind – und setzt sie zu ihren durchschnittlichen Übertragungsraten ins Verhältnis. Davon abgesehen, kommt dieses Kommando manchmal auch zum Einsatz, um das Aktivitätsgleichgewicht zwischen Festplatten zu evaluieren.



$ iostatLinux 6.8.9-100.fc38.x86_64 (fedora) 11/05/2024 _x86_64_ (2 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 2.42 0.19 1.44 0.44 0.00 95.52Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdloop0 0.11 0.24 0.00 0.00 771 0 0loop1 0.01 0.02 0.00 0.00 63 0 0sda 25.13 685.20 175.07 102.58 2194224 560621 328480zram0 3.98 0.94 15.27 0.00 3000 48900 0



Wenn Sie sich dabei ausschließlich auf Ihre Festplatten konzentrieren müssen, ist es wahrscheinlich kontraproduktiv, die Anzeige mit den Statistiken der Linux-Loop-Devices zu überladen. Für diesen Fall können Sie iostat um die Option -p erweitern. Damit wird die Ansicht auf die Disks begrenzt, wie im Folgenden zu sehen ist.



$ iostat -p sdaLinux 6.8.9-100.fc38.x86_64 (fedora) 11/05/2024 _x86_64_ (2 CPU)avg-cpu: %user %nice %system %iowait %steal %idle 2.21 0.17 1.35 0.41 0.00 95.86Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdsda 27.40 618.74 162.08 1297.02 2194423 574849 4600040sda1 0.05 1.70 0.00 167.39 6022 1 593676sda2 0.05 1.26 0.04 192.96 4469 152 684352sda3 27.27 615.38 162.04 936.67 2182528 574696 3322012



Sie können über iostat außerdem regelmäßige Reportings anfordern. Im nachfolgenden Beispiel erhalten wir mithilfe der Option -d alle fünf Sekunden Messwerte:



$ iostat -p sda -d 5Linux 6.8.9-100.fc38.x86_64 (fedora) 11/05/2024 _x86_64_ (2 CPU)Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdsda 25.96 583.46 155.50 1226.91 2194631 584897 4614944sda1 0.05 1.60 0.00 157.83 6022 1 593676sda2 0.05 1.19 0.04 181.94 4469 152 684352sda3 25.84 580.29 155.46 887.14 2182736 584744 3336916Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdsda 0.00 0.00 0.00 0.00 0 0 0sda1 0.00 0.00 0.00 0.00 0 0 0sda2 0.00 0.00 0.00 0.00 0 0 0sda3 0.00 0.00 0.00 0.00 0 0 0



Wenn Sie keinen Wert auf die Statistiken seit dem Start legen, fügen Sie Ihrem Befehl ein -y hinzu:



$ iostat -p sda -d 5 -yLinux 6.8.9-100.fc38.x86_64 (fedora) 11/05/2024 _x86_64_ (2 CPU)Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdsda 4.40 0.00 56.00 0.00 0 280 0sda1 0.00 0.00 0.00 0.00 0 0 0sda2 0.00 0.00 0.00 0.00 0 0 0sda3 4.40 0.00 56.00 0.00 0 280 0Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscdsda 0.00 0.00 0.00 0.00 0 0 0sda1 0.00 0.00 0.00 0.00 0 0 0sda2 0.00 0.00 0.00 0.00 0 0 0sda3 0.00 0.00 0.00 0.00 0 0 0



3. iotop



Beim iotop-Befehl handelt es sich um eine Utility, die ähnlich wie top funktioniert und dazu da ist, E/A-Vorgänge Ihrer Festplatten einzusehen. Die E/A-Nutzungsinformationen werden vom Linux-Kernel bereitgestellt.



Im folgenden Beispiel wurde die Loop-Zeit auf fünf Sekunden festgelegt. Die Anzeige aktualisiert sich regelmäßig selbst und überschreibt den vorherigen Output automatisch.



$ sudo iotop -d 5Total DISK READ: 0.00 B/s | Total DISK WRITE: 133.87 K/sCurrent DISK READ: 0.00 B/s | Current DISK WRITE: 390.97 K/s TID PRIO USER DISK READ DISK WRITE> COMMAND 406 be/4 root 0.00 B/s 133.87 K/s [btrfs-transaction] 1 be/4 root 0.00 B/s 0.00 B/s systemd --switched-root –system --deserialize=35 rhgb 2 be/4 root 0.00 B/s 0.00 B/s [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s [pool_workqueue_release] 4 be/0 root 0.00 B/s 0.00 B/s [kworker/R-rcu_g] 5 be/0 root 0.00 B/s 0.00 B/s [kworker/R-rcu_p] 6 be/0 root 0.00 B/s 0.00 B/s [kworker/R-slub_] 7 be/0 root 0.00 B/s 0.00 B/s [kworker/R-netns] 9 be/0 root 0.00 B/s 0.00 B/s [kworker/0:0H-events_highpri] 12 be/0 root 0.00 B/s 0.00 B/s [kworker/R-mm_pe] 14 be/4 root 0.00 B/s 0.00 B/s [rcu_tasks_kthread] 15 be/4 root 0.00 B/s 0.00 B/s [rcu_tasks_rude_kthread]



4. ioping



Der ioping-Befehl kann über die Latenzzeit Ihrer Festplatten Auskunft geben – also, wie lange es dauert, bis eine Disk auf Requests reagiert. Das kann hilfreich sein, um Festplattenprobleme zu diagnostizieren.



$ sudo ioping /dev/sda14 KiB <<< /dev/sda1 (block device 600 MiB): request=1 time=277.2 us (warmup)4 KiB <<< /dev/sda1 (block device 600 MiB): request=2 time=477.3 us4 KiB <<< /dev/sda1 (block device 600 MiB): request=3 time=472.3 us4 KiB <<< /dev/sda1 (block device 600 MiB): request=4 time=454.8 us



5. atop



Das atop-Kommando bietet eine Vielzahl von Informationen zur Systemleistung, darunter auch Statistiken zur Festplattenaktivität und zur Auslastung der Systemressourcen auf Prozessebene.



Um ausschließlich die Festplattenstatistiken anzuzeigen, agieren Sie wie folgt:



$ atop | grep DSKDSK | sda | busy 1% | read 55761 | write 31218 | avio 0.68 ms |DSK | sda | busy 0% | read 0 | write 12 | avio 1.83 ms |DSK | sda | busy 0% | read 0 | write 33 | avio 0.73 ms |



Zusätzliche Statistiken zur Memory-Nutzung sehen Sie folgendermaßen ein:



$ atop | grep MEMMEM | tot 3.7G | free 782.1M | cache 1.8G | buff 1.8M | slab 188.7M |MEM | numnode 1 | shmem 134.5M | shrss 0.0M | tcpsk 0.0M | udpsk 0.0M |MEM | tot 3.7G | free 780.4M | cache 1.8G | buff 1.8M | slab 188.7M |MEM | numnode 1 | shmem 134.5M | shrss 0.0M | tcpsk 0.0M | udpsk 0.0M |



(fm)



Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!