Hoe de sar-opdracht op Linux te gebruiken

Een linux-terminal op een laptopscherm.
fatmawati achmad zaenuri/Shutterstock.com

De sar commando laat je prestatiestatistieken zien voor verschillende elementen van je Linux-computer, voor zowel realtime als historische gegevens. We laten u zien hoe u deze geweldige bron kunt gebruiken.

Het sar-commando

De sar commando, of System Activity Reporter, maakt deel uit van de sysstat pakket. Het legt een reeks statistische informatie vast, zoals CPU-belasting, geheugenpaging, geheugengebruik, swapgebruik, netwerk-I/O en nog veel meer. Het maakt deze gegevens voor u toegankelijk in realtime snapshots – die u laten zien wat er op dit moment op uw computer gebeurt – en in historische rapporten.

Het belastingsgemiddelde op Linux en andere Unix-achtige systemen begrijpen

VERWANTHet belastingsgemiddelde op Linux en andere Unix-achtige systemen begrijpen

Het draait op de achtergrond als een daemon en verzamelt elke tien minuten een set gegevens. De gegevens voor de huidige dag worden naar een tekstbestand geschreven. Het wordt geconverteerd naar een binair bestand als middernacht verstrijkt. De bestanden worden elke maand overschreven, zodat ze niet gestaag de capaciteit van uw harde schijf opslokken.

De sar commando laat je het systeem ondervragen en de statistieken bekijken. Maar eerst moet je de sysstat pakket.

Het sysstat-pakket installeren

Installeren sysstat is heel eenvoudig. We gebruiken de pakketbeheerder van uw Linux-systeem om het te installeren en gebruiken vervolgens systemd om de achtergronddaemon in te schakelen en te starten.

Installeren sysstat op Ubuntu gebruiken we apt:

sudo apt install sysstat

Sysstat installeren met apt op Ubuntu

Installeren sysstat typ op Fedora:

sudo dnf install sysstat

Systat installeren met dnf op Fedora

En om sysstat op Manjaro te installeren, gebruiken we pacman:

sudo pacman -S sysstat

Systat installeren met pacman op Manjaro

Met sysstat geïnstalleerd, moeten we het inschakelen zodat het als een daemon kan worden uitgevoerd – een achtergrondproces – elke keer dat u uw computer opstart, en we moeten het nu starten zodat we het meteen kunnen gebruiken. We gebruiken systemctldeel van de systemd familie van hulpprogramma’s, om daemons in te schakelen en te starten.

sudo systemctl enable sysstat

De sysstat-daemon inschakelen

sudo systemctl start sysstat

de sysstat-daemon starten

Om te zien welke versie van sar je gebruikt, en om er zeker van te zijn dat het reageert, kun je de -V (versie) optie:

sar -V

De versie van sar . controleren

Realtime statistieken met sar

Je kunt gebruiken sar om te zien wat er op dit moment in uw computer gebeurt. En omdat een momentopname precies dat is – de stand van zaken op een bepaald moment – en soms een… trend is nuttiger, kunt u vragen sar om meerdere snapshots weer te geven met een bepaald aantal seconden ertussen.

CPU-statistieken

Om drie sets CPU-statistieken te zien met twee seconden ertussen, zouden we deze opdracht gebruiken, die de -u (CPU) optie. Merk op dat het interval eerst komt. Dus deze opdracht luidt: “toon de CPU-statistieken in stappen van twee seconden, voor drie sets gegevens.”

sar -u 2 3

Drie sets CPU-statistieken weergeven

Als u uw terminalvenster uitrekt, wordt de tabel netjes uitgelijnd, zodat het gemakkelijker te lezen is.

De kop van de eerste kolom is het tijdstip waarop de opdracht is uitgevoerd. De waarden in de kolom zijn de tijd waarop elke set gegevens is verzameld. De andere kolommen zijn:

  • processor: Het nummer van de CPU-kern, of ALL voor het gemiddelde van alle kernen.
  • %Gebruiker: Het percentage tijd besteed aan het uitvoeren van applicaties op gebruikersniveau, “in userland”.
  • %Leuk: Het percentage van de tijd besteed aan het uitvoeren van applicaties op gebruikersniveau, met mooie prioriteit.
  • %systeem: Het percentage tijd besteed aan het uitvoeren van processen op systeemniveau, in de kernel.
  • %iowait: het percentage van de tijd dat de CPU inactief was met een wachtend schijf-I/O-verzoek.
  • %stelen: In een virtuele machine is dit het percentage van de tijd dat de virtuele CPU inactief was omdat de CPU van de hardwarehost een andere virtuele machine aan het onderhouden was.
  • %inactief: Het percentage van de tijd dat de CPU inactief was zonder in behandeling zijnde schijf-I/O-verzoeken.

De laatste regel is het gemiddelde van de voorgaande regels.

Gebruik de om de statistieken voor een specifieke kern te zien -P (per processor) optie. Dit wordt gevolgd door het nummer van een CPU-kern, of een lijst of reeks kernnummers, zoals: 0,1,4 of 4-8.

Deze opdracht kijkt naar drie sets gegevens met één seconde ertussen, voor kern 1. Onthoud dat kernen vanaf nul worden genummerd.

sar -P 1 1 3

CPU-statistieken weergeven voor een enkele kern

Statistieken voor geheugenoproep

De -B (paging) optie oorzaken sar om statistieken weer te geven met betrekking tot het oproepen van geheugen naar de harde schijf. We gaan om twee sets informatie vragen, met vijf seconden ertussen.

sar -B 5 2

Statistieken voor het oproepen van geheugen weergeven

De kolommen bevatten de volgende informatie.

  • pgpgin/s: Totaal aantal kilobytes dat het systeem heeft ingefluisterd (opgehaald) van de harde schijf per seconde.
  • pgpgout/s: Totaal aantal kilobytes dat het systeem heeft uitgepagineerd per seconde naar de harde schijf.
  • fout/s: Aantal paginafouten, zowel kleine als grote, gemaakt door het systeem per seconde.
  • majflt/s: Aantal grote fouten die het systeem per seconde heeft gemaakt, waarbij een geheugenpagina van schijf moest worden geladen.
  • pgfree/s: Aantal pagina’s dat per seconde door het systeem op de vrije lijst wordt geplaatst.
  • pgscank/s: aantal pagina’s gescand door het geheugenbeheersysteem kswapd daemon per seconde.
  • pgscand/s: Aantal direct gescande pagina’s per seconde.
  • pgsteal/s: aantal pagina’s dat het systeem per seconde uit de cache heeft opgehaald.
  • %vmeff: Berekend als pgsteal / pgscandit is een indicatie van de efficiëntie van paginareclaims.

I/O-overdrachtsnelheden

Om de I/O- en overdrachtssnelheidsstatistieken te zien, gebruikt u de -b (let op, kleine letter “b”) optie. We vragen om drie sets gegevens met vier seconden ertussen.

sar -b 4 3

Statistieken over I/O-overdracht weergeven

Dit is wat de kolommen bevatten.

  • tps: Totaal aantal overdrachtsverzoeken per seconde dat is gedaan naar fysieke apparaten. Let op: dit is een telling van verzoeken. Ze zijn misschien niet allemaal succesvol geweest.
  • rtps: Totaal aantal leesverzoeken per seconde uitgegeven aan fysieke apparaten.
  • wtps: Totaal aantal schrijfverzoeken per seconde uitgegeven aan fysieke apparaten.
  • dtps: Totaal aantal verwijderingsverzoeken per seconde dat is afgegeven aan fysieke apparaten.
  • brood/zo: Totale hoeveelheid gegevens gelezen van fysieke apparaten. Het cijfer wordt gegeven in blokken van 512 bytes per seconde.
  • bwrtn/s: totale hoeveelheid gegevens die naar fysieke apparaten wordt geschreven in blokken per seconde.
  • bdscd/s: Totale hoeveelheid verwijderde gegevens in blokken per seconde.

Er zijn nog veel meer categorieën informatie die u kunt selecteren om te bekijken. Ze worden allemaal op dezelfde manier gebruikt. U kunt ook de -A (alle) optie om een ​​volledige dump van alles te zien sar naar je kan gooien.

Bekijk de sar man-pagina voor de volledige lijst.

Historische statistieken Met sar

Om een ​​van de historische gegevens te bekijken, hoeft u alleen maar de -s (begin) en -e (eind)opties tijd tot een van de gebruikelijke sar commando’s. De tijden worden uitgedrukt in de 24-uurs klok.

Om te zien hoe de CPU-belasting was tussen 06:30 en 07:15 vandaaggebruiken we deze opdracht.

sar -u -s 06:30:00 -e 07:15:00

Historische gegevens van eerder vandaag weergeven

Gebruik een getal als optievlag om te zien hoe de situatie de vorige dag was. Het nummer geeft aan op welke dag er gerapporteerd moet worden. De -1 optie zou gisteren betekenen, de -2 optie zou betekenen twee dagen geleden, enzovoort.

Laten we een rapport genereren tussen 13:00 en 13:00 uur, gebruikmakend van de gegevens van gisteren.

sar -u -1 -s 13:00:00 -e 13:30:00

Historische informatie van gisteren weergeven

Een andere manier om de dag te specificeren waarover u wilt rapporteren, is door de naam van het gegevensbestand van die dag op de opdrachtregel te gebruiken. Dit doen we met de -f (bestandsnaam) optie.

De dagelijkse bestanden worden “saXX” genoemd, waarbij de XX wordt vervangen door de dag van de maand. Ze worden aangemaakt in de logmap van je Linux-computer. De sar log-map heet waarschijnlijk “/var/log/sa/” of “/var/log/sysstat/.”

Op Ubuntu is dit “/var/log/sysstat/”, dus het formaat van ons commando om het CPU-gebruik tussen 14:00 en 14:30 voor de 21e dag van deze maand te zien, ziet er als volgt uit:

sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21

Historische gegevens uit een specifiek gegevensbestand weergeven

Informatie is macht

En sar geeft u zeker voldoende informatie om weloverwogen beslissingen te nemen over de prestaties van uw computer.

Als je een ondersteunende rol hebt – of je bent de technische ondersteuning voor je vrienden en familie – is het kunnen bekijken van historische gegevens een geweldige manier om te beginnen met het onderzoeken van een probleem dat vandaag aan je wordt gemeld, maar dat zich gisteren heeft voorgedaan. Of vorige week.

Nieuwste artikelen

Gerelateerde artikelen