- Dave McKay
@TheGurkha
- May 12, 2020, 8:00am EDT
Het Linux top
-commando is een van de steunpilaren van de Unix-achtige besturingssystemen. De handige display staat vol met nuttige informatie over de lopende processen en het gebruik van hulpbronnen op uw systeem. Maar wist u dat het ook kleuren, highlighting en zelfs elementaire grafieken ondersteunt?
Een Dashboard boordevol informatie
Het top
commando bestaat al sinds 1984, en er zijn vele varianten van. Voor dit artikel gebruiken we Ubuntu 18.04 met alle patches toegepast, en versie 3.3.12 van top
. We hebben ook alles kruislings vergeleken op twee andere test computers, een draait Fedora en de andere Manjaro.
De standaard top
weergave propt zo veel mogelijk informatie in het terminal venster. Informatie is een eerste vereiste voor beheer, dus dit is een goede zaak. Een van de eigenschappen van een goede systeembeheerder is het vermogen om opkomende problemen te identificeren en ze aan te pakken voordat ze de service beïnvloeden. top
geeft je een dashboard van veel verschillende systeemstatistieken die je helpen precies dat te doen.
De weergave is het best te omschrijven als functioneel, in plaats van intuïtief, en er zijn afkortingen in overvloed. Wanneer je top
voor het eerst tegenkomt, voelt het krap, cryptisch en afstotend. Maar met een paar drukken op de knop kun je de inhoud en opmaak van het scherm aanpassen aan wat voor jou belangrijk is.
Controleer uw versie van top
Om te controleren welke versie van top u hebt, typt u het volgende in een terminalvenster:
top -v
Als uw versie ver achter ligt op 3.3.12, ondersteunt deze mogelijk niet alle functies die we gaan behandelen.
De standaardweergave
U kunt top
starten door het volgende in te typen en op “Enter” te drukken:
top
De standaardweergave bevat twee informatiegebieden: het overzichtsgebied (of dashboard), en het taakgebied (of proceslijst). Standaard werkt top
de weergave elke drie seconden bij – u zult een lichte flikkering opmerken wanneer dit gebeurt.
De eerste regel met getallen op het dashboard bevat de tijd, hoe lang de computer al draait, het aantal mensen dat is ingelogd en wat de gemiddelde belasting is geweest in de afgelopen één, vijf en vijftien minuten. Op de tweede regel staat het aantal taken en hun status: lopend, gestopt, slapend of zombie.
Op de derde regel staan de volgende waarden voor de centrale verwerkingseenheid (CPU):
- us: Hoeveelheid tijd die de CPU besteedt aan het uitvoeren van processen voor mensen in de “gebruikersruimte.”
- sy: Hoeveelheid tijd besteed aan het uitvoeren van systeem “kernel space” processen.
- ni: Hoeveelheid tijd besteed aan het uitvoeren van processen met een handmatig ingestelde mooie waarde.
- id: Hoeveelheid inactieve tijd van de CPU.
- wa: Hoeveelheid tijd die de CPU besteedt aan het wachten tot I/O is voltooid.
- hi: Hoeveelheid tijd besteed aan het bedienen van hardware-interrupts.
- si: Hoeveelheid tijd besteed aan het bedienen van software-interrupts.
- st: Hoeveelheid tijd die verloren gaat door het draaien van virtuele machines (“steel time”).
De vierde regel toont de totale hoeveelheid (in kibytes) fysiek geheugen, en hoeveel er vrij, gebruikt, en gebufferd of gecached is.
De vijfde regel toont de totale hoeveelheid (ook in kibytes) swap geheugen, en hoeveel er vrij, gebruikt, en beschikbaar is. Dit laatste omvat geheugen dat naar verwachting uit caches kan worden teruggehaald.
De kolomkoppen in de proceslijst zijn als volgt:
- PID: Proces-ID.
- USER: De eigenaar van het proces.
- PR: Procesprioriteit.
- NI: De aardige waarde van het proces.
- VIRT: Hoeveelheid virtueel geheugen dat door het proces wordt gebruikt.
- RES: Hoeveelheid resident geheugen gebruikt door het proces.
- SHR: Hoeveelheid gedeeld geheugen gebruikt door het proces.
- S: Status van het proces. (Zie de lijst hieronder voor de waarden die dit veld kan aannemen).
- %CPU: Het aandeel CPU-tijd dat door het proces is gebruikt sinds de laatste update.
- %MEM: Het aandeel van het gebruikte fysieke geheugen.
- TIME+: Totale CPU-tijd gebruikt door de taak in honderdsten van een seconde.
- COMMAND: De opdrachtnaam of opdrachtregel (naam + opties).
Geheugenwaarden worden weergegeven in kibibytes. De COMMAND
kolom staat buiten het scherm, aan de rechterkant-het paste niet in de afbeelding hierboven, maar we zullen het zo zien.
De status van het proces kan een van de volgende zijn:
- D: Uninterruptible sleep
- R: Running
- S: Sleeping
- T: Traced (gestopt)
- Z: Zombie
Druk op Q om top
af te sluiten.
Scrollen door het scherm
U kunt op de pijltoetsen omhoog of omlaag, Home, End, en Page Up of Down drukken om omhoog en omlaag te gaan en toegang te krijgen tot alle processen.
Druk op de linker- of rechterpijl om de proceslijst zijwaarts te verplaatsen. Dit is handig om kolommen te zien die niet binnen de grenzen van het terminalvenster passen.
In de afbeelding hieronder hebben we een paar keer op de rechterpijl gedrukt om de COMMAND
kolom te zien.
De numerieke eenheden wijzigen
Laten we de display-eenheden veranderen in zinnige waarden. Druk op de hoofdletter E om de eenheden te doorlopen die worden gebruikt om geheugenwaarden weer te geven in deze opties: kibibytes, mebibytes, gibibytes, tebibytes, pebibytes, en exbibytes. De gebruikte eenheid is het eerste item op regel vier en vijf.
Druk op kleine letter “e” om hetzelfde te doen voor de waarden in de proceslijst: kibibytes, mebibytes, gibibytes, tebibytes, en pebibytes.
We hebben op E gedrukt om de geheugeneenheden van het dashboard in te stellen op gibibytes en op “e” om de geheugeneenheden van de proceslijst in te stellen op mebibytes.
De inhoud van de samenvatting wijzigen
U kunt de weergave-instellingen voor de regels in het dashboard wijzigen of ze volledig verwijderen.
Druk op l om de regel met de belastingsamenvatting (de eerste regel) in of uit te schakelen. In de onderstaande afbeelding hebben we de regel met het belastingsoverzicht verwijderd.
Als u een multi-core CPU hebt, drukt u op 1 om de weergave te wijzigen en de afzonderlijke statistieken voor elke CPU te zien. Er zijn vier CPU’s op onze computer. We drukken op 1 om te zien hoe hard elk van hen werkt.
Natuurlijk neemt dit meer schermruimte in beslag binnen het terminalvenster.
U kunt op “t” drukken om de CPU-schermen om te schakelen naar eenvoudige ASCII-grafieken die het gebruikspercentage voor elke CPU laten zien.
Voor elke CPU worden in top
drie getallen en de grafiek weergegeven. Van links naar rechts zien de getallen er als volgt uit:
- Het gecombineerde
us
enni
percentage (gebruikersruimte+taken met niet-standaard mooie instellingen). - Het
sy
percentage (kernelruimte). - Het totaal (afgerond op een gehele waarde).
Druk nogmaals op “t” om de weergave van de grafiek te wijzigen in effen bloktekens.
Druk nogmaals op “t” om de CPU-weergave en de regel met het taakoverzicht volledig te verwijderen.
Druk op “m” om de geheugen- en wisselgeheugenregels door verschillende weergaveopties te laten lopen. Bij de eerste keer drukken worden de statistieken vervangen door een ASCII-grafiek.
Nogmaals drukken verandert de grafiek in bloktekens.
Druk nogmaals op “m” om de CPU-lijnen helemaal te verwijderen.
Als u wilt, kunt u CPU- en geheugengrafieken tegelijkertijd zien. Druk gewoon op “t” en “m” totdat u de gewenste combinatie krijgt.
Kleur en markeren
U kunt op “z” drukken om kleur aan de weergave toe te voegen.
Als je denkt aan top
, denk je waarschijnlijk niet aan gekleurde displays en ASCII-grafieken, maar ze zijn wel degelijk ingebouwd.
Druk op “y” om lopende taken in de proceslijst te markeren. Druk op “x” om de kolom te markeren die wordt gebruikt om de proceslijst te sorteren. U kunt wisselen tussen vetgedrukte en omgekeerde tekst door op “b” te drukken.”
Sorteren op kolommen
De proceslijst wordt standaard gesorteerd op de %CPU
kolom. U kunt de sorteerkolom wijzigen door op het volgende te drukken:
- P: De
%CPU
kolom. - M: de
%MEM
-kolom. - N: de
PID
-kolom. - T: de
TIME+
-kolom.
In de onderstaande afbeelding is de proceslijst gesorteerd op de PID
kolom.
De volledige opdrachtregel bekijken
Druk op “c” om in de kolom COMMAND om te schakelen tussen weergave van de procesnaam en de volledige opdrachtregel.
Om een “boom” te zien van processen die zijn gestart of gespawned door andere processen, drukt u op V.
Processen voor een enkele gebruiker bekijken
Druk op “u” om de processen voor een enkele gebruiker te bekijken. U wordt gevraagd om de naam of UID.
Type de naam of de UID van de persoon die je wilt monitoren. We typen “dave” en drukken op “Enter”. Nu zijn de enige processen in het taakgebied van de gebruiker dave
.
Alleen actieve taken zien
Druk op I om alleen actieve taken te zien.
Taken die sinds de laatste update geen CPU hebben verbruikt, worden niet getoond.
Instellen hoeveel processen worden weergegeven
Druk op “n” om de weergave tot een bepaald aantal regels te beperken, ongeacht of de taken actief zijn. U wordt gevraagd om het aantal weer te geven processen.
We hebben 10 getypt en op Enter gedrukt, dus er verschijnen 10 processen in het taakgebied.
Een proces hernoemen
U kunt op “r” drukken om de mooie waarde (prioriteit) voor een proces te wijzigen. U wordt gevraagd om de proces-ID. Druk gewoon op Enter om de proces-ID van de taak bovenin het procesvenster te gebruiken. Wij typen 7800, wat toevallig het proces-ID is van een instantie van Firefox.
Nadat je op Enter hebt gedrukt, wordt je gevraagd om de nieuwe nice value die op het proces moet worden toegepast. We typen 15, en drukken vervolgens op Enter.
De nieuwe nice-waarde wordt onmiddellijk op het proces toegepast.
GeRELATEERD: Hoe stelt u procesprioriteiten in met nice en renice op Linux
Een proces doden
Druk op “k” om een proces te doden. U wordt dan gevraagd om het proces-ID dat u wilt doden. In feite kun je elk signaal naar het proces sturen. We gaan proces 7879 doden, dat niet meer reageert.
Je krijgt de kans om het signaal in te typen dat je wilt verzenden. Je kunt het specificeren met een naam of een nummer. Als je gewoon op Enter drukt, verzendt top
het SIGTERM
(kill)-signaal.
Zodra je op Enter drukt, wordt het signaal naar het proces verzonden.
GeRELATEERD: Hoe processen te doden vanuit de Linux Terminal
Aanpassen van de weergave
U kunt ook de kleuren en kolommen aanpassen die worden weergegeven. We gaan de kleur veranderen die wordt gebruikt voor prompts, waarvan de standaard rood is.
Druk op hoofdletter Z om naar de pagina met kleurinstellingen te gaan. Het bovenste deel van het scherm toont de kleuren die door de verschillende weergave-elementen worden gebruikt. Om aan te geven welk weergave-element u wilt wijzigen, drukt u op een van de volgende toetsen, die hoofdlettergevoelig zijn:
- S: Samenvatting gegevensgebied.
- M: Berichten en prompts.
- H: Kolomkopjes.
- T: Taakinformatie in de proceslijst.
We drukken op M om de prompts te wijzigen.
Om een kleur te kiezen, drukt u op een van de volgende nummers:
- 0: Zwart.
- 1: Rood.
- 2: Groen.
- 3: Geel.
- 4: Blauw.
- 5: Magenta.
- 6: Cyaan.
- 7: Wit.
We drukken op 6 om cyaan te gebruiken.
Druk op Enter om uw instellingen op te slaan. Invoerprompts worden nu weergegeven in de kleur die u hebt geselecteerd.
We kunnen ook de kolommen wijzigen die worden weergegeven in het scherm Fields Management. Druk op F om het scherm Fields Management te openen.
Velden die worden weergegeven, hebben een sterretje (*
) naast zich en zijn vetgedrukt gemarkeerd. Druk op de pijlen Omhoog en Omlaag om de markering door de lijst met velden te verplaatsen.
Als u de markering onderaan een kolom verplaatst, verschijnt deze bovenaan de volgende (tenzij u onderaan de laatste kolom staat).
Wij verplaatsen de cursor naar de COMMAND
en drukken op “d” om het sterretje te verwijderen (*
). Vervolgens gingen we naar de UID
en drukten op “d” om een sterretje naast die UID
te plaatsen. Dit betekent dat de COMMAND
-kolom niet wordt weergegeven, maar de UID
-kolom wel.
Terwijl de cursor op de UID
-kolom staat, drukken we op “s” om de proceslijst te sorteren op de UID
-kolom.
Druk op Enter om uw instellingen op te slaan en druk vervolgens op “q” om het scherm Veldbeheer te verlaten.
De UID
-kolom heeft de COMMAND
-kolom vervangen, en de proceslijst is hierop gesorteerd.
Alternatieve weergavemodus
Dit werkt het beste in volledig-schermmodus. Druk op A om vier gebieden in de proceslijst weer te geven, en druk vervolgens op “a” om van gebied naar gebied te gaan.
Elk gebied heeft een andere verzameling kolommen, maar elk is ook aanpasbaar via het scherm Fields Management. Dit geeft u de mogelijkheid om een schermvullende, aangepaste weergave te hebben met verschillende informatie in elk gebied, en de mogelijkheid om elk gebied op een andere kolom te sorteren.
Andere toetsaanslagen
Het volgende zijn enkele andere toetsen die u nuttig zou kunnen vinden in top
:
- W: Sla uw instellingen en aanpassingen op, zodat ze nog steeds van kracht zijn wanneer u
top
de volgende keer opstart. - d: Stel een nieuwe beeldschermverversingsfrequentie in.
- Spatie: Forceer
top
om zijn scherm nu te verversen.
Top Banana
Zoals we hebben gezien, heeft top
nogal een repertoire. Andere programma’s, zoals htop
, zijn erdoor geïnspireerd, maar ze hebben elk hun eigen kijk op de dingen.
Hoe dan ook, top
is overal geïnstalleerd. Wanneer je naar bedrijven gaat om netwerken of servers te bekijken, krijg je vaak te horen dat er absoluut niets kan worden veranderd op de live servers. De klant maakt de regels, dus je moet gebruiken wat er al geïnstalleerd is.
Ook al geef je de voorkeur aan een andere monitoring tool, je moet top
leren kennen. Vroeg of laat kom je waarschijnlijk in een situatie terecht waarin het alles is waar je toegang tot hebt.
Dave McKay gebruikte voor het eerst computers toen ponsband in zwang was, en hij programmeert sindsdien. Na meer dan 30 jaar in de IT-industrie, is hij nu full-time technologiejournalist. Tijdens zijn loopbaan heeft hij gewerkt als freelance programmeur, manager van een internationaal software ontwikkelingsteam, een IT services project manager, en, meest recent, als een Data Protection Officer. Dave is een Linux evangelist en voorstander van open source.Read Full Bio ”