Kort: in deze handleiding bespreken we de beste tools voor het bewaken en debuggen van schijf-I/O-activiteit (prestaties) op Linux-servers.
Een belangrijke prestatiemaatstaf om op een Linux-server te bewaken, is schijf-I/O-activiteit (invoer/uitvoer), die een aanzienlijke invloed kan hebben op verschillende aspecten van een Linux-server, met name de snelheid van het opslaan op of ophalen van schijf, van bestanden of gegevens (vooral op database servers). Dit heeft een rimpeleffect op de prestaties van applicaties en services.
iosat is een van de vele terminalgebaseerde hulpprogramma's voor systeembewaking in het sysstat-pakket, een veelgebruikt hulpprogramma dat is ontworpen voor het rapporteren van CPU-statistieken en I/O-statistieken voor blokapparaten en partities.
Gebruiken iostat op uw Linux-server moet u het systeemstat package op uw Linux-systeem door de toepasselijke opdracht voor uw Linux-distributie uit te voeren.
$ sudo apt install sysstat [Aan Debian, Ubuntu en Mint] $ sudo yum install sysstat [AanRHEL/CentOS/Fedora En Rocky Linux/AlmaLinux] $ sudo emerge -a app-admin/sysstat [OnGentoo Linux] $ sudo apk voeg sysstat toe [AanAlpiene Linux] $ sudo pacman -S sysstat [AanBoog Linux] $ sudo zypper install sysstat [AanOpenSUSE]
Om een eenvoudig rapport over apparaatgebruik weer te geven, voert u uit iostat met de -D
opdrachtregel optie. Gewoonlijk bevat het eerste rapport statistieken over de tijd sinds het opstarten van het systeem (opstarttijd) en gaat elk volgend rapport over de tijd sinds het vorige rapport.
Gebruik de -X
voor een uitgebreid statistisch rapport en de -T
vlag om tijd in te schakelen voor elk rapport. Bovendien, als u apparaten zonder enige activiteit in de rapportuitvoer wilt verwijderen, voegt u de -z
vlag:
# iostat -d -t OF. #iostat -d -x -t
Om statistieken weer te geven in kilobytes per seconde in tegenstelling tot blokken per seconde, voegt u de -k
vlag, of gebruik de -M
vlag om statistieken in megabytes per seconde weer te geven.
#iostat -d -k. OF. #iostat -d -m.
iostat kan ook continue apparaatrapporten weergeven op X tweede intervallen. Met de volgende opdracht worden rapporten bijvoorbeeld weergegeven met intervallen van twee seconden:
#iostat -d 2.
Gerelateerd aan de vorige opdracht, kunt u weergeven N aantal meldingen op X tweede intervallen. De volgende opdracht geeft 10 rapporten weer met een interval van twee seconden. U kunt het rapport ook opslaan in een bestand voor latere analyse:
#iostat -d 2 10. OF. # iostat -d 2 10 > disk_io_report.txt &
Voor meer informatie over de rapportkolommen, lees de iostat man-pagina:
# man iostat.
sar is een ander handig hulpprogramma dat wordt meegeleverd met de systeemstat pakket, bedoeld om informatie over systeemactiviteit te verzamelen, te rapporteren of op te slaan. Voordat u het kunt gaan gebruiken, moet u het als volgt instellen.
Schakel het eerst in om gegevens te verzamelen in het /etc/default/sysstat bestand.
#vi /etc/default/sysstat.
Zoek naar de volgende regel en wijzig de waarde in "WAAR" zoals getoond.
INGESCHAKELD="waar"
Vervolgens moet u het gegevensverzamelingsinterval dat is gedefinieerd in de systeemstat cron-banen. Standaard staat deze op elke 10 minuten, kunt u het verlagen naar elke 2 minuten.
Dit doe je in de /etc/cron.d/sysstat bestand:
# vi /etc/cron.d/sysstat.
Sla het bestand op en sluit het.
Activeer en start ten slotte het systeemstat dienst met behulp van het volgende systemctl-opdracht:
# systemctl enable --nu sysstat.service. # systemctl schakel sysstat.service in.
Wacht vervolgens op 2 minuten om te beginnen met kijken sar rapporten. Gebruik de sar commando en de -B
opdrachtregeloptie om I/O- en overdrachtssnelheidsstatistieken te rapporteren en -D
om activiteit voor elk blokapparaat te rapporteren, zoals weergegeven.
# sar -d -b.
Gelijkwaardig aan beste monitoringtool qua vormgeving, iotop is een eenvoudig hulpprogramma waarmee u schijf-I/O-activiteit en -gebruik per proces kunt controleren.
U kunt het als volgt op uw Linux-server installeren (vergeet niet om de juiste opdracht voor uw Linux-distributie uit te voeren):
$ sudo apt installeer iotop [Aan Debian, Ubuntu en Mint] $ sudo yum install iotop [AanRHEL/CentOS/Fedora En Rocky Linux/AlmaLinux] $ sudo emerge -a sys-process/iotop [OnGentoo Linux] $ sudo apk voeg iotop toe [AanAlpiene Linux] $ sudo pacman -S iotop [AanBoog Linux] $ sudo zypper installeer iotop [AanOpenSUSE]
Om de I/O-activiteit per proces te bewaken, kunt u uitvoeren iotop zonder enige argumenten als volgt. Standaard is de vertraging tussen iteraties 1 seconde. U kunt dit wijzigen met behulp van de -D
vlag.
#iotop. OF. # iotop -d 2.
iotop zal standaard alle threads van een proces weergeven. Om dit gedrag te wijzigen zodat alleen processen worden weergegeven, gebruikt u de -P
opdrachtregel optie.
#iotop -P.
Ook het gebruik van de -A
optie, kunt u het instrueren om geaccumuleerde I/O weer te geven in plaats van bandbreedte te tonen. In deze modus iotop toont het aantal I/O-processen dat sindsdien is uitgevoerd iotop werd ingeroepen.
# iotop -P -a.
Dat is alles wat we voor je hadden! We willen graag uw mening weten over deze gids of de bovenstaande tools. Laat een reactie achter via het onderstaande feedbackformulier.
U kunt ons ook informeren over tools waarvan u denkt dat ze ontbreken in deze lijst, maar het verdienen om hier te verschijnen.