TOP(1) | Användarkommandon | TOP(1) |
NAMN
top — visa Linuxprocesser
SYNOPSIS
top [flaggor]
BESKRIVNING
Programmet top visar en dynamisk vy av det körande systemet i realtid. Det kan visa sammanfattande information om systemet liksom en lista över processer eller trådar som för närvarande hanteras av Linuxkärnan. Typerna av sammanfattande systeminformation som visas och typerna, ordningen och storleken på informationen som visas för processer är användarkonfigurerbart och den konfigurationen kan bevaras mellan omstarter.
Programmet ger ett begränsat interaktivt gränssnitt för processhantering såväl som ett mycket mer omfattande gränssnitt för personlig konfiguration — omfattande dess funktion i alla avseenden. Och medan top rereras genomgående i detta dokument står det dig fritt att kalla programmet vad du vill. Det nya namnet, möjligen ett alias, kan sedan avspeglas i tops fönster och anvädas när man läser och skriver en konfigurationsfil.
ÖVERSIKT
Dokumentation
Återstående innehållsförteckning
ÖVERSIKT Funktion Linux minnestyper 1. KOMMANDORADSflaggor 2. SAMMANFATTNINGSvisning a. UPPETID och LASTgenomsnitt b. UPPGIFTER och CPU-tillstånd c. MINNESanvändning 3. FÄLT-/Kolumnvisning a. BESKRIVNINGAR av fält b. HANTERING av fält 4. INTERAKTIVA kommandon a. GLOBALA kommandon b. SAMMANFATTNINGSOMRÅDETS kommandon c. UPPGIFTSOMRÅDETS kommandon 1. Utseende 2. Innehåll 3. Storlek 4. Sortering d. FÄRGavbildning 5. ALTERNATIVA SKÄRMARS utseende a. FÖNSTERöversikt b. KOMMANDON för fönster c. RULLA ett fönster d. SÖKA i ett fönster e. FILTRERA i ett fönster 6. FILER a. PERSONLIG konfigurationfil b. LÄGGA TILL INSPEKTIONSposter c. SYSTEMkonfigurtionsfil d. SYSTEMbegränsningsfil 7. MILJÖVARIABLER 8. DUMMA TRICK-exempel a. Kärnmagi b. Studsande fönster c. Den stora fågelns fönster d. Den gamla förväxlingen 9. FEL, 10. SE även
Funktion
När top kör är de två viktigaste tangenterna hjälptagenten (h eller ?) och avslutningstangenten (”q”). Alternativt kan du helt enkelt använda den traditionella avbrottstangenten (^C) när du är klar.
När det startas för första gången kommer du få se dessa traditionella elementen på hvudskärmen i top: 1) sammanfattningsområde; 2) fält-/kolumnhuvud; 3) uppgiftsområde. Var och en av dessa kommer utforskas i avsnitten som följer nedan. Det finns även en inmatnings-/meddelanderad mellan sammanfattnigsområdet och kolumhuvudet som inte behöver någon ytterligare förklaring.
Huvudskärmen för top är i allmänhet väl anpassningsbar till ändringar av terminalens dimensioner under X-Windows. Andra skärmar hos top kan vara det i mindre utsträckning, särskilt de med statisk text. Det beror dock i slutänden på just din fönsterhanterare och terminalemulator. Det kan finnas tillfällen när deras vy av terminalstorleken och det aktuella innehållet skiljer från tops vy, vilket alltid baseras på operativsystemanrop.
Efter en storleksändringsåtgärd, om en top-skärm blir trasig, förefaller ofullständig eller i oordning kommer att helt enkelt skriva något harmlöst som ett interpunktionstecken eller markörrörelsetangent vanligen att återställa den. I extrema fall kommer följande sekvens nästan säkert göra det:
tgt/kmd syfte ^Z gör uppehåll för top fg återuppta top <Vänster> framtvinga om skärmomritning (om nödvändigt)
Men om skärmen fortfarande är trasig är det ett steg till du kan prova. Infoga detta kommando efter att ha gjort uppehåll i top men innan den återupptas.
tgt/kmd syfte reset återställ dina terminalinställningar
Obs: bredden på tops skärm kommer begränsas till 512 positioner. Att visa alla fälten kräver ungefär 250 tecken. Återstående skärmbredd allokeras vanligen till de variabla kolumnbredder som för närvarande är synliga. Kolumner med variabel bredd, såsom KOMMANDO finns noterade i avsnitt 3a. BESKRIVNING av fält. Faktiskt utskriftsbredd kan även påverkas av flaggan -w vilken diskuteras i avsnitt 1. KOMMANDORADSflaggor.
Slutligen kräver vissa av tops skärmar eller funktioner användningen av markörförflyttningstangeter som standardpiltangenterna plus tangenterna Home, End, PgUp och PgDn. Om din terminal eller emulator inte tillhandahåller dessa tangenter är följande kombinationer godkända som alternativ:
tgt likvärdig tangent Vänster alt + h Ned alt + j Upp alt + k Höger alt + l Home alt + ctrl + h PgDn alt + ctrl + j PgUp alt + ctrl + k End alt + ctrl + l
Piltangenterna upp och ned har speciell betydelse när en radinatning avslutad med tangenten <Enter> efterfrågas. Dessa tangenter, eller deras alias, kan användas för att tidigare inmatningsrader vilka sedan kan redigeras och matas in igen. Det finns fyra ytterligare tangenter tillgängliga med radorienterad inmatning.
tgt speciell betydelse Upp hämta tidigare strängar för omredigering Ned hämta nyare strängar eller radera hela raden Insert växla mellan lägena infoga och skriv över Delete tecknet tas bort vid markören, övriga flyttas till vänster Home hoppa till början av inmatningsraden End hoppa till slutet av inmatningsraden
Linux minnestyper
För våra syften finns det tre sorters minne, och en är valfri. Den första är fysiskt minne, en begränsad resurs där kod och data måste finnas när det körs eller refereras. Nästa är den valfria växlingsfilen där ändrat (smutsigt) minne kan sparas och senare hämtas tillbaka ifall för mycket efterfrågan finns på fysiskt minne. Slutligen har vi virtuellt minne, en nästan obegränsad resurs som uppfyller följande mål:
1. abstraktion, från från det fysiska minnets adresser/begränsningar 2. isolering, varje process i en separat minnesrymd 3. delning, en viss mappning kan uppfylla flera behov 4. flexibilitet, tilldela en virtuell minnesadress till en fil
Oavsett vilken av dessa former minnet kan ta hanteras alla som sidor (typiskt 4096 byte) men uttrycks som standard i top som KiB (kibibyte). Minnet som diskuteras under avsnittet ”2c. MINNESanvändning” handlar om fysiskt minne och växlingsfil för systemet som en helhet. Minnet som gås igenom i avsnittet ”3. FÄLT-/Kolumnvisning” omfattar alla tre minnestyperna, men för enskilda processer.
För varje sådan process är varje minnessida begränsat till en vis kvadrant från tabellen nedan. Både fysiskt minne och virtuellt minne kan inkludera vilken som helst av de fyra, medan växlingsfilen endast inkluderar nr. 1 till 3. Minnet i kvadrant nr. 4 fungerar när det ändras som sin egen dedikerade växlingsfil.
Privat | Delat 1 | 2 Anonymt . stack | . malloc() | . brk()/sbrk() | . POSIX shm* . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON) -----------------------+---------------------- . mmap(PRIVATE, fd) | . mmap(SHARED, fd) Filstött . pgm/delade bibl | 3 | 4
Följande kan hjälpa till med att tolka minnesvärden som visas på processnivå som skalbara kolumner och diskuteras under avsnitt ”3a. BESKRIVNING av fält”.
%MIN - helt enkelt RES divederat med totalt fysiskt minne KOD - ”pgm”-delen av kvadrant 3 DATA - hela kvadrant 1 del av VIRT plus alla explicit mmap:ade filstödda sidor i kvadrant 3 RES - vad som helst som tar upp fysiskt minne vilket, med början med Linux-4.5, är summan ad de följande tre fälten: RSan - kvadrant 1-sidor, vilket inkluderar alla tidigare 3-sidor om de ändras RSfb - kvadrant 3- och kvadrant 4-sidor RSdl - kvadrant 2-sidor RSlå - delmängden av RES som inte kan växlas ut (oavsett kvadrant) DELT - delmängd av RES (exkluderar 1, inkluderar hela 2 & 4, delvis 3) VÄXL - potentiellt vilken kvadrant som helst utom 4 ANV - helt enkelt summan av RES och SWAP VIRT - allt använd och/eller reserverat (oavsett kvadrant)
Obs: även om programavbilder och delade bibliotek betraktas som privata hos en process kommer de räknas som delade (DELT) av kärnan.
1. KOMMANDORADSflaggor
Obligatoriska argument till långa flaggor är obligatoriska även för korta flaggor.
Även om det inte krävs kan likhetstecknet med endera formen av flaggan och blanktecken före och/eller efter ”=” är tillåtet.
- -b, --batch
- Startat top i satsvis läge, vilket kan vara användbart för att skicka utdata från top till andra program eller till en fil. I detta läge kommer top inte acceptera indata och kör tills iterationsgränsen du satt med kommandoradsflaggan ”-n” eller tills den dödas.
- -c, --cmdline-toggle
- Startar top med det senast sparade ”c”-tillståndet omvänt. Alltså, om top visade kommandorader kommer nu det fältet visa programnamn, och vice versa. Se det interaktiva kommandot ”c” för ytterligare information.
- -d, --delay = SEK [.TIONDELAR]
- Anger fördröjningen mellan skärmuppdateringar, och
åsidosätter motsvarande värde i den personliga
konfigurationsfilen eller uppstartsstandardvärdet. Senare kan detta
ändras med de interaktiva kommandona ”d” eller
”s”.
Delar av sekunder respekteras, men ett negativt tal är inte tillåtet. I vilket fall som helst är dock sådana ändringar otillåtna om top kör i Säkert läge, utom för root (om inte kommandoradsflaggan ”s” användes). För ytterligare information om Säkert läge, se avsnittet 6d. SYSTEMbegränsningsfil.
- -E, --scale-summary-mem = k | m | g | t | p | e
- Instruerar top att framtvinga sammanfattningsområdeminne att
skalas som:
k — kibibyte m — mebibyte g — gibibyte t — tebibyte p — pebibyte e — exbibyte
Detta kan senare ändras med kommandoflaggan ”E”.
- -e, --scale-task-mem = k | m | g | t | p
- Instruerar top att framtvinga uppgiftsområdesminne att skalas som:
k — kibibyte m — mebibyte g — gibibyte t — tebibyte p — pebibyte
Detta kan senare ändras med kommandoflaggan ”e”.
- -H, --threads-show
- Instruerar top att visa enskilda trådar. Utan denna kommandoradsflagga visas en sammanfattning av alla trådar i varje process. Detta kan senare ändras med det interaktiva kommandot ”H”.
- -h, --help
- Visa användningshjälptext, avsluta sedan.
- -i, --idle-toggle
- Startar top med det senast sparade ”i”-tillståndet omvänt. När denna växel är Av kommer uppgifter som inte har använt någon CPU sedan den senaste uppdateringen inte visas. För ytterligare information om denna växel se avsnittet 4c. UPPGIFTOMRÅDETS kommandon, STORLEK.
- -n, --iterations = ANTAL
- Anger det maximala antalet iterationer, eller ramar, top skall producera före det avslutar.
- -O, --list-fields
- Denna flagga fungerar som en slags hjälp för flaggan -o som visas nedan. Den gör att top skriver ut vart och ett av de tillgängliga fältnamnen på var sin rad, sedan avsluta. Sådana namn är föremål för översättningar enligt NLS (National Language Support, stöd för nationella språk).
- -o, --sort-override = FÄLTNAMN
- Anger namnet på fältet enligt vilket uppgifter skall
sorteras, oavsett vad somavspeglas i konfigurationsfilen. Man kan
lägga till ett ”+” eller ”-” till
filnamnet för att även åsidosätta
sorteringsordningen. Ett inledande ”+” kommer tvinga
sortering högt till lågt, medan ett ”-” ser
till att ordningen blir lågt till högt.
Denna flagga finns primärt för att stödja automatisk/skriptad satsvis drift.
- -p, --pid = PID-LISTA (som: 1,2,3, … eller -p1 -p2 -p3 …)
- Övervaka endast processer med angivna process-ID:n. Dock,
när det kombineras med trådläge (”H”)
kommer även alla processer i trådgruppen (se TGID)
för varje övervakad PID att visas.
Denna flagga gan ges upp till 20 gånger, eller så kan man ge en kommaavgränsad lista med upp till 20 pid:ar. Att kombinera ihop båda metoderna är tillåtet.
Ett pid-värde på noll kommer tolkas som process-id:t på programmet top självt när det har startat.
Detta är endast en kommandoradsflagga och skulle du vilja återgå till normal drift är det nödvändigt att avsluta och starta om top — ge endast något av dessa interaktiva kommandon: ”=”, ”u” eller ”U”.
Kommandoradsflaggorna ”p”, ”u” och ”U” är ömsesidigt uteslutande.
- -S, --accum-time-toggle
- Startar top med det senast sparade ”S”-tillståndet omvänt. När ackumulerad tid-läge är På listas varje process med cpu-tiden som den och dess döda barn har använt. Se det interaktiva kommandot ”S” för ytterligare information om detta läge.
- -s, --secure-mode
- Startar top med säkert läge påtvingat, även för root. Detta läge är mycket bättre styrt genom en systemkonfigurationsfil (se avsnittet 6. FILER).
- -U, --filter-any-user = ANVÄNDARE (som: nummer eller namn)
- Visa endast processer med ett användar-id eller användarnamn
som matchar det givna. Denna flagga mot alla användare
(verklig, verksam, sparad eller filsystem).
Att lägga till ett utropstecken (”!”) till användar-id:t eller -namnet instruerar top att visa endast processer med användare som inte stämmer med den angivna.
Kommandoradsflaggorna ”p”, ”U” och ”u” är ömsesidigt uteslutande.
- -u, --filter-only-euser = ANVÄNDARE (som: nummer eller namn)
- Visa endast processer med ett användar-id eller användarnamn
som som matchar den givna. Denna flagga matchar endast mot det
verksamma användar-id:t.
Att lägga till ett utropstecken (”!”) till användar-id:t eller -namnet instruerar top att visa endast processer med användare som inte stämmer med den angivna.
Kommandoradsflaggorna ”p”, ”U” och ”u” är ömsesidigt uteslutande.
- -V, --version
- Visa versionsinformation, avsluta sedan.
- -w, --width [=KOLUMNER]
- I satsvis läge, när det används utan argument kommer
top formatera med användning av miljövariablerna COLUMNS=
och LINES=, om de är satta. Annars kommer bredden vara fixerad till
de maximala 512 kolumnerna. Med ett argument kan utmatningsbredden minskas
eller ökas (upp till 512) men antalet rader betraktas som
obegränsat.
I normalt visningsläge, när det används utan argument kommer top försöka att formatera utmatningen med miljövariablerna COLUMNS= och LINES=, om de är satta. Med ett argument kan utmatningsbredden bara minskas, inte ökas. Oavsett om miljövariabler används eller ett argument till -w, när man inte är i satsvis läge, kan de faktiska terminaldimensionerna aldrig överskridas.
Obs: utan användning av denna kommandoradsflagga baseras utmatningsbredden alltid på terminalen i vilken top anropades oavsett om man kör i satsvis läge eller inte.
- -1, --single-cpu-toggle
- Startar top med den senast sparade Cpu-tillståndsdelen av
sammanfattningsområdet omvänt. Antingen kommer all
cpu-information visas på en ensam rad eller så kommer varje
cpu visas separat, beroende på tillståndet hos
kommandoflaggan för NUMA-nod (”2”).
Se de interaktiva kommandona ”1” och ”2” för ytterligare information.
2. SAMMANFATTNINGSvisning
Var och en av de följande tre områdena styrs individellt genom en eller flera interaktiva kommandon. Se avsnittet 4b. SAMMANFATTNINGSOMRÅDETS kommandon för ytterligare information avseende dessa möjligheter.
2a. UPPETID och LASTgenomsnitts
Detta avsnitt består av en enda rad som innehåller:
program- eller fönsternamn, beroende på visningsläge aktuell tid och tiden som gått sedan senaste start totalt antal användare systemlastsnitt över de senaste 1, 5 och 15 minuterna
2b. UPPGIFTER och CPU-tillstånd
Detta avsnitt består av minst två rader. I en SMP-miljö kan ytterligare rader avspegla enskilda CPU-tillståndsprocentsatser.
Rad 1 visar totalt antal uppgifter eller trådar, beroende på tillståndet hos Trådlägesväxeln. Den totalen är vidare klassificerad som:
körande; sovande; stoppade; zombier
Rad 2 visar CPU-tillståndsprocentsatser baserat på intervallet sedan den senaste uppdateringen.
Som standard visas procentsatser för dessa individuella kategorier. Beroende på kärnversionen visas kanske inte fältet st.
an : tid då icke nice:ade användarprocesser körts sy : tid då kärnprocesser körts ni : tid då nice:ade användarprocesser körts ia : tid tillbringad i kärnans inaktivetetshanterare vä : tid väntande på fullgord I/O ha : tid tillbringad med att betjäna hårdvaruavbrott ma : tid tillbringat med att betjäna mjukvaruavbrott st : tid stulen från denna vm av hypervisorn
Värdet ”sy” ovan avspeglar även tiden som används till att köra en virtuell cpu för gästoperativsystem, inklusive dem med ett nice-värde.
Utöver den första uppgifts-/trådraden finns det alternativa CPU-visningslägen tillgängliga via 4-vägskommandoflaggan ”t”. De visar en förkortad sammanfattning som består av dessa element:
a b c d %Cpu/er: 75.0/25.0 100[ … ]
Där: a) är ”användarens” (an + ni) procent; b) är ”systemets” (wy + ha + ma + gäster) procent; c) är den totala procenten; och d) är en av två visuella grafer av dessa representationer. Sådana grafer avspeglar även separata ”användar”- och ”system”-delar.
Om kommandoflaggan ”4” används för att ge mer än två cpu:er per rad kommer resultaten ytterligare förkortas och eliminera element a) och b). Dock avspeglas den informationen fortfarande i själva grafen under antagandet att färg är aktivt eller, om inte, visas streck eller block.
Se avsnittet 4b. SAMMANFATTNINGSOMRÅDETS kommandon för ytterligare information om kommandoradsflaggorna ”t” och ”4”.
2c. MINNESanvändning
Detta avsnitt består av två rader som kan uttrycka värden i kibibyte (KiB) till exbibyte (EiB) beroende på skalfaktorn med det interaktiva kommandot ”E”. Källfälten från filen /proc/meminfo visas i parenteser.
Rad 1 avspeglar fysiskt minne, klassificerat som:
totalt ( MemTotal ) fritt ( MemFree ) anv. ( MemTotal - MemAvailable ) buff/cache ( Buffers + Cached + SReclaimable )
Rad 2 avspeglar huvudsakligen virtuellt minne, klassificerat som:
totalt ( SwapTotal ) fritt ( SwapFree ) anv. ( SwapTotal - SwapFree ) tillg ( MemAvailable, vilket är fysiskt minne )
Värdet tillg på rad 2 är en uppskattning av fysiskt minne tillgängligt för att starta nya program, utan växling. Till skillnad mot fältet fritt försöker det att ta hänsyn till sid-cache och minnesskivor som kan begäras tillbaka direkt. Det är tillgängligt i kärna 3.14, emulerad med kärnor 2.6.27+, och annars detsamma som fritt.
I de alternativa minnesvisningslägena visas två förkortade sammanfattningsrader som innehåler dessa elment:
a b c GiB Minn: 18.7/15.738 [ … ] GiB Växl: 0.0/7.999 [ … ]
Där: a) är procentsatsen använt; b) är det totalt tillgängliga; och c) är en av två visuella grafer över dessa representationer.
I fallet fysiskt minne representerar procentsatsen det totala minus det uppskattade tillgängliga noterat ovan. Grafen ”Minn” själv är delad mellan den icke-cachade delen av använt och det återstående minnet som inte i övrigt räknas in av tillgängligt. Se avsnittet 4b. SAMMANFATTNINGSOMRÅDETS kommandon och kommandot ”m” för ytterligare information om denna speciella 4-vägsväxel.
Denna tabell kan vara till hjälp i att tolka de skalade värdena som visas:
KiB = kibibyte = 1024 byte MiB = mebibyte = 1024 KiB = 1 048 576 byte GiB = gibibyte = 1024 MiB = 1 073 741 824 byte TiB = tebibyte = 1024 GiB = 1 099 511 627 776 byte PiB = pebibyte = 1024 TiB = 1 125 899 906 842 624 byte EiB = exbibyte = 1024 PiB = 1 152 921 504 606 846 976 byte
3. FÄLT / kolumner
3a. BESKRIVNING av fält
Listat nedan är tops tillgängliga processfält (kolumner). De visas i strikt ascii-alfabetisk ordning efter deras engelska namn. Man kan anpassa deras position och huruvida de visas eller inte med det interaktiva kommandot ”f” (Fälthantering).
Alla fält kan väljas som sorteringsfält, och man kan styra huruvida de soteras högt-till-lågt eller lågt-till-högt. För ytterligare information om sorteringsmöjligheter se avsnittet 4c. UPPGIFTSOMRÅDETS kommandon, SORTERING.
Fälten relaterade till fysiskt minne eller virtuellt minne refererar ”(KiB)” vilket är visningsläget utan suffix. Sådana fält kan dock skalas från KiB till PiB. Skalningen styrs via det interaktiva kommandot ”e” eller etableras vid uppstart via en byggflagga.
- %CPU — CPU-användning
- Uppgiftens andel av den förlupna CPU-tiden sedan den senaste
uppdateringen, uttryckt som en procentsats av den totala CPU-tiden.
I en miljö med sann SMP, om en process är multitrådad och top inte arbetar i trådläge, kan andelar större än 100 % rapporteras. Man kan växla trådläge med det interaktiva kommandog ”H”.
För multiprocessormiljöer gäller även att, om Irix-läget är Av, kommer top köra i Solaris-läge där en uppgifts cpu-användning delas med det totala antalet CPU:er. Man växlar Irix-/Solaris-lägen med det interaktiva kommandot ”I”.
Obs: när man kör i skogsvyläge (”V”) med barn infällda (”v”) kommer detta fält även inkludera CPU-tiden för dessa osynliga barn. Se avsnittet 4c. UPPGIFTSOMRÅDETS kommandon, INNEHÅLL för mer information om växlarna ”V” och ”v”.
- %CUB — CPU-utnyttjande
- Detta fält är identiskt med %CUA nedan, förutom att procentsatsen även avspeglar skördade barnprocesser.
- %CUA — CPU-utnyttjande
- En uppgifts totala CPU-användning dividerat med den gångna
körtiden, uttryckt som en procentsats.
Om en process för närvarande visar högt CPU-användande kan detta fält hjälpa till att avgöra om sådant beteende är normalt. Omvänt, om en proces har lågt CPU-användande för närvarande kan %CUA avspegla högre historiska behov över dess livstid.
- %MIN — Minnesanvändning (RES)
- En uppgifts aktuella residenta andel av tillgängligt fysiskt minne.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- AGID — Autogruppidentifierare
- Autogruppidentifieraren som hör ihop med en process. Denna funktion
fungerar tillsammans med CFS-schemaläggaren för att
förbättra interaktiv skrivbordsprestanda.
När /proc/sys/kernel/sched_autogroup_enabled är satt skapas en ny autogrupp för varje ny session (se SID). Alla processer som avgrenats därefter i den sessionen ärver medlemskapet i denna autogrupp. Kärnan försöker likafördela CPU-sykler över sådana grupper. Alltså, en autogrupp med många CPU-intensiva processer (t.ex. make -j) kommer inte att dominera en autogrupp med endast en eller två processer.
När -1 visas betyder det att denna information inte är tillgänglig.
- AGNI — Autogruppens nice-värde
- Autogruppens nice-värde vilket påverkar schemaläggningen för alla processer e den gruppen. Ett negativt nice-värde betyder högre prioritet, medan ett positivt nice-värde betyder lägre prioritet.
- KGNAMN — Styrgruppsnamn
- Namnet på kontrollgruppen vilken en process hör, eller
”-” om inte tillämpligt för den processen.
Detta kommer typiskt vara den sista posten i den fullständiga listan av kontrollgrupper som visas under nästa rubrik (KGRUPPR). Och liksom gäller där, har detta fält variabel bredd.
- KGRUPPR — Styrgrupper
- Namnen på kontrollgrupperna till vilken en process hör,
eller ”-” om inte tillämpligt för den
processen.
Kontrollgrupper gör att man kan allokera resurser (cpu, minne, nätverksbandbredd, etc.) bland installationsdefinierade grupper av processer. De möjliggör finkorning styrning av allokeringen, nekandet, prioriteringen, hanteringen och övervakningen av dessa resurser.
Många olika hierarkier av kgrupper kan finnas samtidigt på ett system och varje hierarki är kopplat till ett eller flera subsystem. Ett subsystem representerar en ensam resurs.
Obs: Fältet KGRUPPR, till skillnad mot de flesta kolumner, har inte fast bredd. När det visas kommer det och alla andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till ett maximum 512 tecken). Trots det kan sådana fält med variabel bredd huggas av. Se avsnittet 5c. RULLA ett fönster för ytterligare information om hur man kommer åt avhuggen data.
- KOD — Kodstorlek (KiB)
- Mängden fysiskt minne som just nu ägnat åt
körbar kod, även känt som den residenta
textmängdens storlek eller TRS.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- KOMMANDO — Kommandonamn eller kommandorad
- Visa kommandoraden som användes för att starta en uppgift
eller namnet på det tillhörade programmet. Man växlar
mellan kommandorad och namn med ”c”, vilket
är både en kommandoradsflagga och ett interaktivt kommando.
När man har valt att visa kommandorader kommer processer utan en kommandorad som kärntrådar) visas med endast programnamnet i hakparentesr, som i detta exempel:
[kthreadd]Detta fält kan även påverkas av visningsläget skogsvy. Se det interaktiva kommandot ”V” för ytterligare information om det läget.
Obs: Fältet KOMMANDO, till skillnad mot de flesta kolumner, har inte fast bredd. När det visas kommer det och alla andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till ett maximum 512 tecken). Trots det kan sådana fält med variabel bredd huggas av. Detta gäller särskilt för detta fält när kommandorader visas (det interaktiva kommandot interaktivt kommando). Se avsnittet 5c. RULLA ett fönster för ytterligare information om hur man kommer åt avhuggen data.
- DATA — Data- + stackstorlek (KiB)
- Mängden privat minne reserverat av en process. Detta
är även känt även känt som den
residenta datamängdens storlek eller DRS. Sådant minne
behöver ännu inte vara mappat till fysiskt minne (RES) men
kommer alltid att inkluderas i mängden virtuellt minne (VIRT).
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- FÖRLUP. — Förlupen körtid
- Tidsåtgången sedan en process startades. Alltså, den
senast startade uppgiften kommer visa det minsta tidsintervallet.
Värdet kommer uttryckas som ”HH,MM” (timmar,minuter) men är föremål för ytterligare skalning om intervallet blir för stort för att passa kolumnbredden. Vid den tidpunkten kommer det att skalas till 'DD+HH' (dagar+timmar) och möjligen därutöver.
- MILJÖ — Milöjövariabler
- Visa alla miljövariablerna, om några, som ses av respektive
processer. Dessa variabler kommer visas sin råa ordning, inte den
sorterade ordning man är van vid att se med ett ”set”
utan argument.
Obs: Fältet MILJÖ, till skillnad mot de flesta kolumner, har inte fast bredd. När det visas kommer det och alla andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till ett maximum 512 tecken). Trots det kan sådana fält med variabel bredd huggas av. Detta gäller särskilt för detta fält. Se avsnittet 5c. RULLA ett fönster för ytterligare information om hur man kommer åt avhuggen data.
- KÖRBAR — Körbars sökväg
- Där det är tillgängligt är detta den
fullständiga sökvägen till den körbara,
inklusive programnamnet.
Obs: Fältet KÖRBAR har, till skillnad mot de flesta kolumner, inte fast bredd. När det visas kommer det plus eventuella andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till de maximala 512 tecknen).
- Flaggor — Uppgiftens flaggor
- Denna kolumn representerar uppgiftens aktuella schemaläggningsflaggor vilka uttrycks i hexadecimal notation och med nollor utelämnade. Dessa flaggor är officiellt dokumenterade i <linux/sched.h>.
- GID — Grupp-Id
- Den effektiva gruppens ID.
- GRUPP — Gruppnamn
- Den effektiva gruppens namn.
- LOGID — Inloggningsanvändar-Id
- Användar-ID:t som användes vid inloggning. När -1 visas betyder det att denna informaion inte är tillgänglig.
- LXC — Lxc-behållarnamn
- Namnet på den lxc-behållare i vilken uppgiften kör. Om en process inte kör inuti en behållare kommer ett streck (”-”) visas.
- NI — Nice-värde
- Nice-värdet på uppgiften. Ett negativt nice-värde
betyder högre prioritet, medan ett positivt nice-värde
betyder lägre prioritet. Noll i detta fält betyder helt
enkelt att prioriteten inte kommer justeras när en uppgifts
körbarhet bestäms.
Obs: Detta värde påverkar bara schemaläggningsprioritet relativt mot andra processer i samma autogrupp. Se fälten ”AGID” och ”AGNI” för ytterligare information om autogrupper.
- NU — Senast kända NUMA-nod
- Ett tal representerar NUMA-noden associerad med den senast använda
processorn (”P”). När -1 visas betyder det att
NUMA-information inte är tillgänglig.
Se de interaktiva kommandona ”2” och ”3” för ytterligare NUMA-möjligheter som påverkar sammanfattningsområdet.
- OOMj — Justeringsfaktor för slut på minnet
- Värdet, som går från -1000 till +1000, läggs till det aktuella slut-på-minnet-värdet (OOMv) vilket sedan används för att avgöra vilken uppgift som skall dödas när minnet är uttömt.
- OOMv — Slut på minnet-värde
- Detta värde, som går från 0 till +1000, används för att välja uppgift(er) att döda när minnet är uttömt. Noll översätts till ”döda aldrig” medan 1000 betyder ”döda alltid”.
- P — Senast använd CPU (SMP)
- Ett nummer som representerar den senast använda processorn. I en sann SMP-miljö kommer detta sannolikt ändras ofta eftersom kärnan avsiktligt använder svag affinitet. Dessutom kan själva körandet av top bryta denna svaga affinitet få fler processer att byta CPU oftare (på grund av den ökade efterfrågan på CPU-tid).
- PGRP — Processgrupps-Id
- Varje process är medlem av en unik processgrupp vilken används för att distribuera signaler och av terminaler för att skilja begäranden som sin indata och utdata. När en process skapas (grenas) blir den en medlem i sin förälders processgrupp. Enligt konvention är detta värde lika med process-ID (se PID) för den första medlemmen i processgruppen, kallad processgruppens ledare.
- PID — Process-Id
- En uppgifts unika process-ID, vilket periodiskt slår runt, men
aldrig startar om på noll. I kärnans termer är det en
körbar enhet definerad av en task_struct.
Detta värde kan även användas som: en processgrupps-ID (se PGRP); en sessions-ID för sessionsledaren (se SID); en trådgrupps-ID för trådgruppsledaren ((se TGID); och en TTY-processgrupps-iID för processgruppsledaren (se TPGID).
- FPID — Föräldraprocess-Id
- Uppgiftens förälders process-ID (pid).
- PR — Prioritet
- Uppgiftens schemaläggningsprioritet. Om man ser ”rt”
i detta fält betyder det att uppgiften kör under
schemaläggningprioritet för realtid.
Under linux är realtidsprioritet något missledande eftersom traditionellt operativsystemet självt inte gick att avbryta (preempt). Och medan kärna 2.6 kan göras avbrytbar (preemptible) är den inte alltid det.
- ARSS — Andel resident minne, smaps (KiB)
- Proportionen av denna uppgifts andel av ”RSS” där
varje sida delas av antalet processer som delar den. Det är
även summan av fälten ”ASan”,
”ASfb” och ”ASdelt”.
Till exempel, om en process ar 1000 residenta sidor själv och 1000 residenta sidor som delas med en annan process skulle dess ”ARSS” vara 1500 (gånger sidstorleken).
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
ASan — Andel anonymt minne, smaps (KiB)
ASfb — Andel filminne, smaps (KiB)
ASdelt — Andel shmem-minne, smaps (KiB)
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
- RES — Storlek på resident minne (KiB)
- En delmängd av den virtuella adressrymden (VIRT) som representerar
det inte utväxlade fysiska minnet en uppgift just nu
använder. Det är också summan av fälten
”RSan”, ”RSfb” och ”RSdl”.
Det kan inkludera privata anonyma sidor, privata sidor avbildade mot filer (inklusive programavbilder och delade bibliotek) plus delade anonyma sidor. Allt sådant minne stödjs av den växlingsfil som representeras separat under VÄXL.
Slutligen kan detta fält även inkludera delade filstödda sidor som, när de modifieras, beter sig som en dedikerad växlingsfil och alltså aldrig kommer påverka VÄXL.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- RSS — Resident minne, smaps (KiB)
- En annan, mer exakt vy av processens ej utväxlade fysiska minne.
Det hämtas från filen ”smaps_rollup” och
är i allmänhet något större än det som
visas för ”RES”.
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
- RSan — Storlek på resident anonymt minne (KiB)
- En delmängd av resident minne (RES) som representerar privata sidor inte avbildade mot en fil.
- RSfb — Storlek på resident minne med bakomliggande fil (KiB)
- En delmängd av resident minne (RES) som representerar de implicit delade sidor som stöds av programavbilder och delade bibliotek. Det inkluderar även explicita filavbildningar, både privata och delade.
- RSlå — Storlek på resident låst minne (KiB)
- En delmängd av resident minne (RES) som inte kan växlas ut.
- RSdl — Storlek på resident delat minne (KiB)
- En delmängd av resident minne (RES) som reprecenterar de explicit delade anonyma shm*/mmap-sidorna.
- VAID — Verkligt användar-id
- Det verkliga användar-ID:t.
- VANV — Verkligt användarnamn
- Det verkliga användarnamnet.
- S — Processtatus
- Status för uppgiften kan vara en av:
D = oavbrytbar sömn
I = inaktiv
R = körande
S = sovande
T = stoppad av jobbstyrsignal
t = stoppad av felsökare under spårning
Z = zombieUppgifter som visas som körande bör man egentligen tänka på som redo att köra — deras task_struct är helt enkelt representerad i Linux körkö. Även utan en sann SMP-maskin kan man se flera uppgifter i detta tillstånd beroende på tops fördröjningsintervall och nice-värde.
- DELT — Storlek på delat minne (KiB)
- En delmängd av resident minne (RES) som kan användas av
andra processer. Det kommer inkludera delade anonyma sidor och delade
filstödda sidor. Det inkluderar även privata sidor som
är avbildade på filer som representerar programavbilder och
delade bibliotek.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- SID — Sessions-id
- En session är en samling processgrupper (se PGRP), vanligen etablerad av inloggningsskalet. En nyavgrenad process går med i sin skapares session. Som konvention är detta värde lika med sessionens första medlems process-ID (se PID), kallad sessionsledaren, vilket vanligen är inloggningsskalet.
- STARTAD — Starttidsintervall
- Tidslängden sedan systemstarten när en process startades.
Alltså kommer den senast startade uppgiften visa det största
tidsintervallet.
Värdet kommer uttryckas som ”MM:SS” (minuter:sekunder). Men om intervallet är för stort för att få plats i kolumnbredden kommer det att skalas som ”HH,MM” (timmar,minuter) och möjligen därutöver.
- SAID — Sparat användar-id
- Det sparade användar-ID:t.
- KOMPPGID — Komplementära grupp-id:n
- Eventuella kompletterande gruppers ID:n etablerade vid inloggning eller
ärvda från en uppgifts förälder. De visas i en
kommaseparerad lista.
Obs: Fältet KOMPGID har, till skillnad mot de flesta kolumner, inte fast bredd. När det visas kommer det plus eventuella andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till de maximala 512 tecknen).
- KOMPGRP — Komplementära gruppnamn
- Eventuella kompletterande gruppers namn etablerade vid inloggning eller
ärvda från en uppgifts förälder. De visas i en
kommaseparerad lista.
Obs: Fältet KOMPGRP har, till skillnad mot de flesta kolumner, inte fast bredd. När det visas kommer det plus eventuella andra kolumner med variabel bredd allokeras all återstående skärmbredd (upp till de maximala 512 tecknen)
- SANV — Sparat användarnamn
- Det sparade användarnamnet.
- VÄXL — Växlad storlek (KiB)
- Den tidigare residenta delen av en uppgifts adressutrymme skrivet till
växlingsfilen när fysiskt minne blir
överanvänt.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- TGID — Trådgrupps-id
- Trådgruppens ID som en uppgift hör till. Det är trådgruppledarens PID. I kärnans termer representerar det de uppgifter som delar en mm_struct.
- TID — CPU-tid
- Total CPU-tid uppgiften har använt sedan den startades. När kumulativt läge är På listas varje process med cpu-tiden som den och dess döda barn har använt. Man växlar kumulativt läge med ”S”, vilket är både en kommandoradsflagga och ett interaktivt kommando. Se Det interaktiva kommandot ”S” för ytterligare information om detta läge.
- TID+ — CPU-tid, hundradelar
- Samma som TID, men avspeglar mer noggrannhet genom hundradelar av sekunder.
- TPGID — Tty-processgrupps-id
- Förgrundsprocessens processgrupps-ID för den anslutna tty:n, eller -1 om en process inte är ansluten till en terminal. Enligt konvention är detta värde lika med processgruppsledarens (se PGRP) process-ID (se PID).
- TTY — Styrande tty
- Styrterminalens namn. Detta är vanligen enheten (serieporten, pty, etc.) processen startades ifrån, och vilken den använder för inmatning och utmatning. Dock behöver inte en terminal vara kopplad till en terminal, i vilket fall man ser en ”?” visad.
- AID — Användar-id
- Uppgiftens effektiva ägares användar-ID.
- ANV — Använt minne (KiB)
- Detta fält representerar ej växlat fysiskt minne en uppgift
använder (RES) plus den utväxlade delen av dess
adressutrymme (VÄXL).
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- ANVÄNDARE — Användarnamn
- Uppgiftens effektiva ägares användarnamn.
- URSS — Unika mängdens storlek
- Den inte utväxlade andelen av fysiskt minne (”RSS”)
som inte delas med någon annan process. Det härleds fron
filen ”smaps_rollup”.
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
- VIRT — Storleken på virtuellt minne (KiB)
- Den totala mängden virtuellt minne som används av uppgiften.
Den inkluderar all kod, data och delade bibliotek plus sidor som har
växlats ut och sidor som har avbildats men inte använts.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
- WKAN — Sover i en funktion
- Detta fält kommer visa namnet på kärnfunktionen i vilken uppgiften just nu sover. Körande uppgifter kommer visa ett streck (”-”) i denna kolumn.
- ioL — I/O-byte lästa
- Antalet byte en process orsakade att de lästes från
lagringsnivån.
Root-privilegier krävs för att visa ”io”-data för andra användare.
- ioLåt — I/O-läsåtgärder
- Antalet läs-I/O-åtgärder (systemanrop) för en process. Sådana anrop resulterar inte nödvändigtvis i faktisk fysisk disk-I/O.
- ioS — I/O-byte skrivna
- Antalet byte en process orsakade att de skickades till lagringsnivån.
- ioSåt — I/O-skrivåtgärder
- Antalet skriv-I/O-åtgärder (systemanrop) för en process. Sådana anrop resulterar inte nödvändigtvis i faktisk fysisk disk-I/O.
- aSmu — Antal smutsiga sidor
- Antalet sidor som har ändrats sedan de senast skrevs till extra
lagring. Smutsiga sidor måste skrivas till extra lagring
före den motsvarande fysiska minnesplatsen kan användas
för någon annan virtuell sida.
Detta fält är föråldrat sedan linux 2.6 och är alltid noll.
- aSmå — Antal större sidfel
- Antalet stora sidfel som inträffat för en uppgift. Ett sidfel inträffar när en process försöker läsa från eller skriva till en virtuell sida som inte för närvarande finns i dess adressrymd. Ett stort sidfel är när extra lagring är inblandat i att göra sidan tillgänglig.
- aSmå — Antal mindre sidfel
- Antalet små sidfel som inträffat för en uppgift. Ett sidfel inträffar när en process försöker läsa från eller skriva till en virtuell sida som inte för närvarande finns i dess adressrymd. Ett litet sidfel blandar inte in åtkomst av extra lagring för att göra sidan tillgänglig.
- nTR — Antal trådar
- Antalet trådar kopplade till en process.
- nrGRUPPER — CGROUP-namnrymd
- Inoden för namnrymden som används för att dölja identiteten på styrgruppen i vilken processen är en medlem.
- nrIPK — IPK-namnrymd
- Inoden för namnrymden som används för att isolera resurser för interprocesskommunikation (IPK) såsom System V IPC-objekt och POSIX-meddelandeköer.
- nrMNT — MNT-namnrymd
- Inoden för namnrymden som används för att isolera monteringspunkter för filsystem och därmed erbjuder olika vyer av filsystemshierarkin.
- nrNÄT — NÄT-namnrymd
- Inoden för namnrymden som används för att isolera resurser såsom nätverksenheter, IP-adresser, IP-ruttläggning, portnummer etc.
- nrPID — PID-namnrymd
- Inoden för namnrymden som används för att isolera process-ID-nummer vilket betyder att de inte behöver vara unika. Alltså kan varje sådan namnrymd ha sin egen ”init/systemd” (PID nr. 1) för att hantera diverse initieringsuppgifter och skörda föräldralösa barnprocesser.
- nrTID — TIDS-namnrymd
- Inoden för namnrymden som låter processer se olika systemtider på ett sätt liknande det för UTS-namnrymden.
- nrANV — ANVÄNDAR-namnrymd
- Inoden för namnrymden som används för att isolera användar- och grupp-ID-nummer. Alltså kan en process ha ett normalt opriviligierat anändar-ID utanför en användarnamnrymd medan den har användar-ID 0, men fullständiga root-privilegier, inuti den namnrymden.
- nrUTS — UTS-namnrymd
- Inoden för namnrymden som används för att isolera värdnamn och NIS-domännamn. UTS betyder helt enkelt ”UNIX Time-sharing System”.
- vSt — Delta av antal stora sidfel
- Antalet stora sidfel som har inträffat sedan den senaste uppdateringen (se aSto).
- vSm — Delta av antal mindre sidfel
- Antalet små sidfel som har inträffat sedan den senaste uppdateringen (se aSmå).
3b. HANTERING av fält
Efter att trycka det interaktiva kommandot ”f” (fälthantering) kommer man presenteras med en skärm som visar: 1) namnet på ”aktuellt” fönster; 2) det utsedda sorteringsfältet; 3) alla fält i deras aktuella ordning tillsammans med beskrivningar. Poster markerade med en asterisk är fält som visas just nu, i den mån skärmbredden tillåter.
- Som intruktionerna på skärmen indikerar navigerar man mellan fälten med piltangenterna upp och ner. Tangenterna PgUp, PgDn, Home och End kan också användas för att snabbt nå det första eller sista tillgängliga fältet.
- Piltangenten höger väljer ett fält för att flyttas och piltangenten vänster eller tangenten <Enter> fastställer det fältets placering.
- Tangenten ”d” eller <mellanslag> växlar ett fälts visningsstatus, och därmed förekomsten eller frånvaron av asterisken.
- Tangenten ”s” markerar ett fält som sorteringsfältet. Se avsnittet 4c. UPPGIFTSOMRÅDETS kommandon, SORTERING för ytterligare information om valet av sorteringsfält.
- Tangenterna ”a” och ”w” kan användas för att bläddra igenom alla tillgängliga fönster och tangenterna ”q” eller <Esc> går ur fälthanteringen.
Fälthanteringsskärmen kan även användas för att ändra ”aktuell” fönster-/fältgrupp i antingen helskärmsläge eller alternativt visningsläge. Det som var målet när ”q” eller <Esc> trycktes kommer att göras aktuellt när man återgår till top-visningen. Se avsnittet 5. ALTERNATIVA SKÄRMARS utseende och det interaktiva kommandot ”g” för kunskap om aktuella fönster och fältgrupper.
Obs: ett fönster som har rullats horisontellt kommer att återställas om några fältändringar görs via fälthanteringsskärmen. Eventuell vertikal rullningsposition, däremot, kommer inte påverkas. Se avsnittet 5c. RULLA ett fönster för ytterligare information om att rulla vertikalt och horisontellt.
4. INTERAKTIVA kommandon
Listade nedan är ett kort register över kommandon i kategorier. Några kommandon förekommer mer än en gång — deras betydelse eller omfattning kan variera beroende på sammahanget i vilket de ges.
4a. Globala-kommandon <Ent/Sp> ?, =, 0, A, B, d, E, e, g, H, h, I, k, q, r, s, W, X, Y, Z, ^G, ^K, ^N, ^P, ^U, ^L, ^R 4b. Sammanfattningsområdets.kommandon C, l, t, m, 1, 2, 3, 4, 5, ! 4c. Uppgiftområdets-kommandon Utseende: b, J, j, x, y, z Innehåll: c, F, f, O, o, S, U, u, V, v, ^E Storlek: #, i, n Sortering: <, >, f, R 4d. FÄRGavbildning <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 5b. Kommandon-för-fönster -, _, =, +, A, a, G, g, w 5c. Rulla-ett-fönster C, Upp, Ned, Vänster, Höger, PgUp, PgDn, Home, End 5d. Söka-i-ett-fönster L, & 5e. Filtrera-i-ett-fönster O, o, ^O, =, +
4a. GLOBALA kommandon
De globala interaktiva kommandona är alltid tillgängliga påde i helskärmsläge och alternativt visningsläge. Dock är några av dessa interaktiva kommandon inte tillgängliga när man kör i säkert läge.
Om man vill veta i förväg huruvida eller inte ens top har säkrats, fråga helt enkelt efter hjälp och titta på systemsammanfattningen på den andra raden.
- <Enter> eller <Mellanslag> :Uppdatera visningen
- Dessa kommandon väcker upp top och som följd av mottagande
av någon indata kommer hela skärmen ritas om. De framtvingar
även en uppdatering av eventuella ändringar i drift av cpu
eller fysiskt minne.
Man kan använda vilken som helst av dessa tangenter om man har ett långt fördröjningsintervall och vill se den aktuella statusen.
- ? | h :Hjälp
- Det finns två hjälpnivåer tillgängliga. Den
första kommer ge en påminnelse om alla gruldäggande
interaktiva kommandon. Om top är säkrad kommer den
skärmen vara förkortad.
Att trycka ”h” eller ”?” på den hjälpskärmen kommer ta en till hjälp för de interaktiva kommandon som är tillämpliga på alternativt visningsläge.
- = :Gå ur visningsbegränsningar
- Tar bort begränsningar på vad som visas. Detta kommando
kommer återställa kommandon ”i” (inaktiva
uppgifter), ”n” (max uppgifter), ”v”
(dölj barn) och ”F” fokus som kan vara aktiva. Det
avslutar också PID-monitorering, användarfiltrering, annan
filtrering, lokaliseringsbearbetning och kombinera-Cpu-läge.
Dessutom, om fönstret har rullats kommer det at återställas av detta kommando.
- 0 :Nollundertryckningsväxel
- Detta kommando styr huruvida nollor visas eller undertrycks för många av fälten i ett uppgiftsfönster. Fält som AID, GID, NI, PR eller P påverkas inte av denna växel.
- A :Alternativt visningslägesväxel
- Detta kommando kommer att byta mellan helskärmsläge och alternativt visningsläge. Se avsnittet 5. ALTERNATIVA SKÄRMARS utseende och det interaktiva kommandot ”g” för insikt i aktuella fönster och fältgrupper.
- B :Fetstil-avaktiverings/aktiveringsväxel
- Detta kommando kommer påverka användningen av
terminalegenskapen feltstil och ändrar både
sammanfattningsområdet och t för ”aktuellt”
fönster. Även om det är tänkt i första
hand för dumma terminaler kan det användas när som
helst.
Obs: när denna växel är På och top kör i monokromt läge kommer hela skärmen uppträda som normal text. Alltså, om inte växeln ”x” och/eller ”y” använder omvänd markering kommer det inte finnas någon visuell bekräftelse ens att de är på.
- * d | s :Ändra tidsfördröjningsintervallet
- Man får frågan om att ange fördröjningstiden,
i sekunder, mellan skärmuppdateringar.
Delar av sekunder respekteras, men ett negativt tal är inte tillåtet. Att ange 0 medför (nästan) kontinuerliga uppdateringar, med en otillfredsställande bild eftersom systemet och tty-drivritunen försöker hänga med i tops begäranden. Fördröjningsvärdet är omvänt proportionellt till systembelastningen, så sätt det med försiktighet.
Om man vid något tillfälle vill veta den aktuella fördröjningstiden, be helt enkelt om hjälp och se systemsammanfattningen på andra raden.
- E :Styr sammanfattningens minnesskala i sammanfattningsområdet
- Med detta kommando kan man gå runt mellan de möjliga
minnesskalningarna i sammanfattningsområdet vilket går
från KiB (kibibyte ller 1 024 byte) till EiB (exbibyte eller
1 152 921 504 606 846 976 byte).
Om man ser ett ”+” mellan ett visat tal och den följande etiketten betyder det att top var tvunget att hugga av en del av det talet. Genom att öka skalfaktorn kan sådan avhuggning undvikas.
- e :Styr uppgiftsminnesskallan i uppgiftsområdet
- Med detta kommando kan man gå runt mellan de tillgängliga
minnesskalningarna i uppgiftsområdet viket går från
KiB (kibibyte eller 1 024 byte) till PiB (pebibyte eller
1 125 899 906 842 624 byte).
Även om top kommer försöka respektera den valda målintervallet kan ytterligare skalning fortfarande vara nödvändigt för att få plats med aktuella värden. OM man vill se ett mer homgent resultat i minneskolumnerna är att höja skalintervallet vanligen ett sätt att nå det målet. Att öka det för högt kommer dock förmodligen skapa ett resultat med bara nollor vilket inte kan undertryckas med det interaktiva kommandot ”0”.
- g :Välj en annan fönster-/fältgrupp
- Man kommer få frågan om att ange ett tal mellan 1 och 4 som anger den fältgrupp som skall göras till ”aktuellt” fönster. Man blir snart bekväm med dessa 4 fönster, särskilt efter att ha experimenterat med alternativt visningsläge.
- H :Trådlägesväxel
- När denna växel är På kommer enskilda trådar visas för alla processer i alla synliga uppgiftsfönster. Annars visar top en sammanfattning av alla trådar i varje process.
- I :Irix-/Solaris-lägesväxel
- När man arbetar i Solaris-läge (”I” växlat Av) kommer en uppgifts cpu-användning delas med det totala antalet cpu:er. Efter att ge detta kommando blir man meddelad om det nya tillståndet för denna växel.
- * k :Döda en uppgift
- Man får frågan om vilken PID och signalen som skall skickas.
Att inte ange någon PID eller ett negativt tal kommer tolkas som standardvärdet i frågan (den första uppgift som är listad). Ett PID-värde på noll betyer programmet top självt.
Standardsignalen, som den avspeglas i frågan, är SIGTERM. Man kan dock skicka vilken signal som helst, via nummer eller namn.
Om man vill avbryta dödandeprocessen, gör men en av följande beroende på hur långt man kommit:
1) vid frågan om pid, skriv ett ogiltigt nummer 2) vid frågan om signal, skriv 0 (eller godtycklig ogiltig signal) 3) vid godtycklig fråga, skriv <Esc>
- q :Avsluta
- * r :Ändra nice för en uppgift
- Man får fråga om ett PID och sedan värdet att
sätta dess nice till.
Att inte ange någon PID eller ett negativt tal kommer tolkas som standardvärdet i frågan (den första uppgift som är listad). Ett PID-värde på noll betyer programmet top självt.
Ett positivt nice-värde gör att processen förlorar prioritet. Omvänt gör ett negativt nice-värde att processen ses mer fördelaktigt av kärnan. Som en allmän regel kan vanliga användare bara öka nice-värdet och hindras från att sänka det.
Om man vill avbryta processen att ändra nice-värde, gör men en av följande beroende på hur långt man kommit:
1) vid frågan om pid, skriv ett ogiltigt nummer 2) vid frågan om nice, skriv <Enter> utan någon indata 3) vid godtycklig fråga, skriv <Esc>
- W :Skriv konfigurationsfilen
- Detta kommer spara alla valda alternativ och växlar plus det aktuella visningsläget och fördröjningstiden. Genom att ge detta kommando just före man avslutar top kan man återstarta senare i exakt samma tillstånd.
- X :Extra fältbredd
- Några fält har fix bred och är inte skalbara. Som
sådana är de föremål för avhuggning
vilket indikeras av ett ”+” i den sista positionen.
Detta interaktiva kommando kan användas för att ändra bredden på följande fält:
fält standard fält standard fält standard GID 5 GRUPP 8 VKAN 10 LOGID 5 LXC 8 nrGRUPPER 10 VAID 5 VANV 8 nrIPK 10 SUID 5 SANV 8 nrMNT 10 AID 5 TTY 8 nrNÄT 10 ANVÄNDARE 8 nrPID 10 nrTID 10 nrANV 10 nrUTS 10
Man får frågan om mängden att lägga till till standardbredderna visade ovan. Att ange noll återställer till dessa standardvärden.
Om man anger ett negativt tal kommer top automatiskt öka kolumstorleken så mycket som behövs tills det inte finns någon mer avhuggen data.
Obs: oavsett om de ökas explicit eller automatiskt minskas aldrig bredden på dessa fält av top. För att smalna av dem måste man ange ett mindre tal eller återställa standardvärdena.
- Y :Inspektera annan utmatning
- Efter att man gett det interaktiva kommandog ”Y” kommer man
få frågan om en mål-PID. Att skriva ett värde
eller godta standardvärdet resulterar i en separat skärm.
Den skärmen kan användas för att se olika filer eller
rör-kommandons utdata medan den normala iterativa uppdateringen av
top är pausad.
Obs: detta interaktiva kommando är bara fullt ut förverkligat när stödjande poster manuellt har lagts till till slutet av konfigurationsfilen för top. För detaljer om att skapa dessa poster, Se avsnittet 6b. LÄGGA TILL INSPEKTIONSposter.
De flesta tangenter som används för att styra inspektionsfunktionen visas i dess huvudprolog. Det finns dock ytterligare tangenter tillgängliga när man har valt en viss fil eller ett visst kommando. De är bekanta för den som har använt bläddraren ”less” och sammanfattas här för framtida referens.
tangent funktion = växla statusrad, fil eller rör / sök, ekvivalent med ”L” lokalisera n sök nästa, ekvivalent med ”&” lokalisera nästa <Mellanslag> rulla ner, ekvivalent med <PgDn> b rulla upp, ekvivalent med <PgUp> g första raden, ekvivalent med <Home> G sista raden, ekvivalent med <End>
- Z :Byt färgavbildning
- Med detta kommando tas man till en separat skärm där man kan ändra färger för ”aktuellt” fönster, eller för alla fönster. För detaljer om detta interaktiva kommando se avsnittet 4d. FÄRGavbildning.
^G :Visa-styrgrupper
(Ctrl-tangent + ”g”)
^K :Visa-kommandorad
(Ctrl-tangent + ”k”)
^N :Visa-miljö
(Ctrl-tangent + ”n”)
^P :Visa-namnrymder
(Ctrl-tangent + ”p”)
^U :Visa-kompletterande-grupper
(Ctrl-tangent + ”u”)
Att trycka samma ”Ctrl”-kommando en andra gång tar bort det separata fönstret och detsamma gör kommandot ”=”. Att trycka en annan ”Ctrl”-kombination medan en redan är aktiv byter omedelbart till den nya informationen.
Värt att notera bland dessa möjligheter är kommandot Ctrl+N (miljö). Dess utdata kan vara omfattande och inte lätt att läsa när den är radbruten. En mer läsbar version kan uppnås med ett ”Inspektera”-post i rcfile-filen liksom den följande.
pipe ^I Miljö ^I cat /proc/%d/environ | tr '\0' '\n'
Se det interaktiva kommandot ”Y” ovan och avsnittet 6b. LÄGGA TILL INSPEKTIONSposter för ytterligare information.
Som ett alternativ till ”Inspektera”, och tillgängligt för alla dessa ”Ctrl”-kommandon kan tabulatortangenten användas för att markera enskilda element i bottenfönstret.
- ^L :Loggade-meddelanden (Ctrl-tangent + ”l”)
- De 10 senaste meddelandena visas i ett separat fönster längst ner på skärmen samtidigt som normal top-monitorering fortsätter. Att trycka ”^L” en andra gång tar bort det fönstret och detsamma gör kommandot ”=”. Använd tabulatortangenten för att markera enskilda meddelanden.
- * ^R :Ändra-nice-på-en-autogrupp (Ctrl-tangent + ”r”)
- Man får fråga om en PID och sedan värdet på
dess autogrupps AGNI.
Att inte ange någon PID kommer tolkas som standardvärdet som visas i prompten (den första visade uppgiften).
Ett positivt AGNI-värde kommer göra att processer i den autogruppen förlorar prioritet. Omvänt gör ett negativt värde att de kommer betraktas mer förmånligt av kärnan. Vanliga användare tillåts inte sätta negativa AGNI-värden.
Om man vill avbryta processen att ändra nice-värde skriver man <Esc>.
- *
- Kommandon som visas med en asterisk (”*”) är inte tillgängliga i säkert läge, inte heller kommer de visas på hjälpskärm nivå-1.
4b. SAMMANFATTNINGSOMRÅDETS kommandon
Sammanfattningsområdets interaktiva kommandon är alltid tillgängliga i både helskärmsläge och alternativt visningsläge. De påverkar de inledande raderna på skärmen och avgör positionen för meddelanden och frågor.
Dessa kommandon påverar alltid bara ”aktuell” fönster-/fältgrupp. Se avsnittet 5. ALTERNATIVA SKÄRMARS utseende och det interaktiva kommandot ”g” för kunskap om ”aktuellt” fönster och fältgrupper.
- C :Visa rullkoordinatersväxel
- Växla ett informationsmeddelande som visas när meddelanderaden inte används till något annat. För ytterligare information se avsnittet 5c. RULLA ett fönster.
- l :Lastgenomsnitts/uppetidsväxel
- Detta är också raden som innehåller programnamnet (möjligen ett alias) när man kör i helskärmsläge eller namnet på ”aktuellt” fönster när man kör i alternativt visningsläge.
- t :Uppgifts/cpu-tillståndsväxel
- Detta kommando påverkar från 2 till många
sammanfattningsområdesrader, beroende på tillståndet
hos kommandoflaggorna ”1”, ”2” eller
”3” och huruvida eller inte top kör under sant SMP.
Denna del av av sammanfattningsområdet påverkas även av den den interaktiva kommandoflaggan ”H”, eftersom den avspeglas i den totala etiketten vilken visar antinge uppgifter eller trådar.
Detta kommando fungerar som en 4-vägsväxel, och roterar genom dessa lägen:
1. detaljerade procentsatser efter kategori 2. förkortade användar/system och total % + stapeldiagram 3. förkortade användar/system och total % + blockdiagram 4. slå av visning av uppgifter och cpu-tillstånd
När man kör i endera av de grafiska lägena blir skärmen mycket mer meningsfull när individuella CPU:er eller NUMA-noder också visas. Se kommandona ”1”, ”2” och ”3” nedan för ytterligare information.
- m :Minnes-/växlingsanvändningsväxel
- Detta kommando påverkar de två
sammanfattningsområdesraderna som hanterar fysiskt och virtuellt
minne.
Detta kommando fungerar som en 4-vägsväxel, och roterar genom dessa lägen:
1. detaljerade procentsatser efter minnestyp 2. förkortad % använt/totalt tillgängligt + stapeldiagram 3. förkortad % använt/totalt tillgängligt + blockdiagram 4. slå av visning av minne
- 1 :Enkla/separata cpu-tillståndsväxel
- Detta kommando påverkar hur kommandot ”t”:s
cpu-tillståndsdel visas. Även om denna växel finns
först och främst för att hantera massivt parallella
SMP-maskiner är den itne begränsad endast till
SMP-miljöer.
När man ser ”%Cpu(s):' i sammanfattningsområde är växeln ”1” På och all cpu-information samlas på en enda rad. Annars visas varje cpu separat som: ”%Cpu0, %Cpu1, …” upp till den tillgängliga skärmhöjden.
- 2 :NUMA-noder/cpu-sammanfattningsväxel
- Detta kommando vexlar mellan kommandot ”1” cpu-sammanfattnignsskärm (endast) eller en sammanfattningsskärm plus cpu-användningsstatistiken för varje NUMA-nod. Det är endast tillgängligt om ett system har det nödvändiga stödet för NUMA.
- 3 :Expandera-NUMA-nod
- Man erbjuds att ange ett nummer som representerar en NUMA-nod. Därefter kommer en nodsammanfattning plus statistik för varje cpu i den noden att visas tills kommandoflaggan ”1”, ”2” eller ”4” trycks. Detta interaktiva kommando är endast tillgängligt om ett system har det nödvändiga stödet för NUMA.
- 4 :Visa-flera-element-intillväxel
- Denna kommandoflagga slår Av flaggan ”1” och
visar flera CPU- och minnesresultat på varje rad. Varje
följande tangent ”4” lägger till en
ytterligare CPU tills den återgår igen till separata rader
för CPU- och minnesresultat.
Maximalt 8 CPU:er per rad kan visas på detta sätt. Dock kan avhuggning av data förekomma före maximum nås. Detta är särskilt sant när man visar detaljerad statistik via kommandoflaggan ”t” eftersom sådana data inte kan skalas såsom den grafiska representationen.
Om man önskar att snabbt avsluta intilläge utan att gå igenom alla sätt till 8, tryck helt enkelt på kommandoflaggan ”1”.
- 5 :Visa-P-kärnor-och-E-kärnorväxel
- Denna kommandoflagga är endast aktiv när växeln
”t” är På och växlarna
”1”, ”2”, ”3” och
”!” är Av, alltså visar individuella
CPU-resultat. Den antar att en plattform har flera kärnor av
två olika typer, antingen multitrådade (P-kärnor)
eller enkeltrådade (E-kärnor).
Medan normalt varje cpu visas som ”%Cpu0, %Cpu1, …” kan denna växel användas för att identifiera och/eller filtrera dessa :er efter sin kärntyp, antinge P-kärna (prestanda) eller E-kärna (effektivitet).
Den 1:a gången ”5” skrivs visas varje CPU som ”CpP” eller ”%CpE” som representerar de två kärntyperna. Den 2:a gången kommer endast P-kärnor (%CpP) visas. Den 3:e gången visas E-kärnor (%CpE). När denna kommandoflagga trycks den 4:e gången återgår CPU-visningen till den vanliga konventionen ”%Cpu”.
Om inte separata prestanda och effektiva kategorier finns har denna kommandoflagga ingen effekt.
- ! :Kombinera-cpu:er-lägesväxel
- Denna kommandoflagga är avsedd för massivt parallella
SMP-miljöer där, även med kommandoflaggan
”4”, inte alla processer kan visas. Med varje tryck
på ”!” dubblas antalet cpu:er som kombineras och
därmed reduceras det totala antalet cpu-rader som visas.
Till exempel, med det första trycket på ”!” kmmer två cpu:er kombineras och visas som ”0-1, 2-3, …” istället för de normala ”%Cpu0, %Cpu1, %Cpu2, %Cpu3, …”. Med en andra kommandoflagga ”!” kombineras fyra cpu:er och visas som ”0-3, 4-7, …”. Sedan med ett tredje tryck på ”!”, kombineras åtta cpu:er, och visas som ”0-7, 8-15, …”, etc.
Så fortsätter det tills individuella cpu:er återigen visas och påverkar de båda växlarna ”1” och ”4” (en eller flera kolumner). Används kommandot ”=” för att avsluta läget Kombinera-cpu:er.
Obs: om hela sammanfattningsområdet har slagits Av för något fönster skulle man bara ha kvar meddelanderaden. På detta sätt har man då maximerat de tillgängliga raderna för uppgifter men (tillfälligt) offrat programnamnet i helskärmsläge eller namnet på ”aktuellt” fönster när man är i alternativt visningsläge.
4c. UPPGIFTOMRÅDETS kommandon
Uppgiftsområdets interaktiva kommandon är alltid tillgängliga i helskärmsläge.
Uppgiftsområdets interaktiva kommandon är aldrig tillgängliga alternativt visningsläge om uppgiftsvisningen för ”aktuellt” fönster har slagits Av (se avsnittet 5. ALTERNATIVA SKÄRMARS utseende).
UTSEENDET på uppgiftsfönstret
- J :Justera numeriska kolumnerväxel
- Växlar mellan högerjusterad (standard) och vänsterjusterad numerisk information. Om den numeriska datan helt fyller ut den tillgängliga kolumnen kan denna endast påverka kolumnhuvudet.
- j :Justera teckenkolumnerväxel
- Växlar mellan vänsterjusterad (standard) och högerjusterad teckeninformation. OM teckendatan helt fyller ut den tillgängliga kolumnen kan denna kommandoflagga endast påverka kolumnhuvudet.
- b :Fet/inversväxel
- Detta kommando kommer påverka hur växlarna ”x” och ”y” visas. Det kan också påverka sammanfattningsområdet när stapeldiagram har valts för cpu-tillstånd eller minnesanvändning via växlarna ”t” eller ”m”.
- x :Kolumnmarkeringsväxel
- Ändrar markeringen för det aktuella sorteringsfältet.
Om man glömmer vilket fält som sorteras kan detta kommando
fungera som en snabb visuell påminnelse, förutsat att
sorteringsfältet visas. Sorteringsfältet behöver
inte vara synligt på grund av att
1) det finns otillräckligt med skärmbredd
2) det interaktiva kommandot ”f” har slaget Av det - y :Radmarkeringsväxel
- Byter markering för ”körande” uppgifter.
För ytterligare kunskap om detta uppgiftstillstånd, se
avsnittet 3a. BESKRIVNING av fält, fältet ”S”
(processtatus).
Användning av denna möjlighet ger viktiga kunskaper om systemets hälsa. Den enda kostnaden kommer vara några få ytterligare tty-flyktföljder.
- z :Färg/monokromväxel
- Byter det aktuella fönstret mellan det senast valda färgschemat och den äldre formen av svart-på-vitt eller vitt-på-svart. Detta kommando kommer ändra bådet sammanfattningsområdet och uppgiftsområdet men påverkar inte tillståndet hos växlarna ”x”, ”y” eller ”b”.
INNEHÅLL i uppgiftsfönstret
- c :Kommandorad/programnamnväxel
- Detta kommando kommer att följas oavsett huruvida kolumnen KOMMANDO är synlig för närvarande eller inte. Skulle det fältet senare visas kommer ändringen man gjorde visas.
- F :Behåll-föräldrafokusväxel
- I skogsvysläge fungerar denna tangent som en växel till att
behålla fokus på en måluppgift, förmodligen en
med avgrenade barn. Om skogsvysläget är Av har denna
tangent ingen effekt.
Växeln tillämpas på den första (översta) processen i det ”aktuella” fönstret. När det är etablerat visas alltid uppgiften som den första (översta) processen tillsammans med dess avgrenade barn. Alla andra processer kommer utelämnas.
Obs: tangenter som ”i” (inaktiva uppgifter), ”n” (max uppgifter), ”v” (dölj barn) och filter av användare/övrigt fortsätter att vara tillgängliga och kan påverka vad som visas.
- f :Fälthantering
- Denna tangent visar en separat skärm där man kan ändra vilka fält som visas, deras ordning och även utse sorteringsfältet. För ytterligare information om detta interaktiva kommando se avsnittet 3b. HANTERING av fält.
- O | o :Övrig-filtrering
- Man kommer få en fråga om urvalskriterier som sedan
avgör vilka uppgifter som kommer visas i ”aktuellt”
fönster. Kriterierna kan göras
skiftlägeskänsliga eller så kan skiftläget
ignoreras. Och man bestämmer om top skall inkludera eller exkludera
matchande uppgifter.
Se avsnittet 5e. FILTRERA i ett fönster för detaljer om dessa och andra relaterade interaktiva kommandon.
- S :Kumultativ-tids-lägesväxel
- När kumulativt läge är På listas varje
process med cpu-tiden som den och dess döda barn har använt.
När Av kommer program som grenar av i många separata uppgifter förefalla mindre krävande. För program som ”init” eller ett skal är detta lämpligt men för andra, som kompilatorer, kanske inte. Experminetera med två uppgiftsfönster som delar samma sorteringsfält men med olika ”S”-tillstånd och se vilken representation du föredrar.
Efter att ha gett detta kommando blir man informerad om det nya tillstånded hos denna växel. Om man vill veta i förväg huruvida kumulativt läge är på eller inte, be helt enkelt om hjälp och se fönstersammanfattningen på andra raden.
- U | u :Visa-endast-specifik-användare
- Man får frågan om uid eller namn på
användaren som skall visas. Flaggan -u matchar den effektiva
användaren medan flaggan -U matchar godtycklig
användare (verklig, effektiv, sparad eller filsystem).
Därefter visas endast matchande användare i det uppgiftsfönstert, eller möjligen visas inga processer. Genom att inleda med ett utropstecken (”!”) före anvädare-id eller -namn instruerar man top att visa endast processer med användare som inte matchar den angivna.
Olika uppgiftsfönster kan användas för att filtrera olika användare. Senare, om man vill se alla användare igen i ”aktuellt” fönster, ge detta kommando igen men tryck bara <Enter> vid frågan.
- V :Skogsvyslägesväxel
- I detta läge ordnas processer om efter sina föräldrar
och layouten av kolumnen KOMMANDO liknar den hos ett träd. I
skogsvysläge är det fortfarande möjligt att
växla mellan programnamn och kommandorad (se det interaktiva
kommandot ”c” eller mellan processer och trådar (se
det interaktiva kommandot ”H”).
Obs: att att trycka godtycklig tangent som anger sorteringsordning kommer lämna skogsvysläge i det aktuella fönstret. Se avsnittet 4c. UPPGIFTOMRÅDETS kommandon, SORTERING för information om dessa tangenter.
- v :Dölj/visa barn-växel
- I skogsvysläge fungerar denna tangent som en växel mellan
att fälla ihop eller expandera en förälders barn.
Växeln fungerar endast mot den första (översta) processen i det aktuella fönstret. se avsnittet 5c. RULLA ett fönster för ytterligare information om vertikal rullning.
Om målprocessen inte har grenat av några barn har denna tangent ingen effekt. Den har inte heller någon effekt när man inte är i skogsvyläge.
- ^E :Skala-CPU-tidsfält (Ctrl-tangent + ”e”)
- ”Tids”fälten visas normalt med den största
precisionen deras bredd tillåter. Denna växel reducerar den
precisionen tills det slår runt. Den illustrerar även
skalningen dessa fält kan uppvisa automatiskt, vilket
vanligen beror på hur länge systemet kör.
Till exempel, om ”MMM:SS.hh” visas, skulle varje tryck på ^E ändra det till: ”MM:SS”, ”timmar,MM”, ”dagar+timmar” och slutligen ”veckor+dagar”.
Alla tidsfält är inte föremål för hela intervallet av sådan skalning.
STORLEK på uppgiftsfönster
- i :Inaktiv-processväxel
- Visar alla uppgifter eller bara aktiva uppgifter. När denna
växel är Av kommer uppgifter som inte använt
någon CPU sedan den senaste uppdateringen inte att visas. Dock,
på grund av granulariteten hos fälten %CPU och TID+, kan
några processer fortfarande visas som förefaller inte
ha använt någon CPU.
Om detta kommando används på den sista uppgiftsvisningen när man är i alternativt visningsläge, då kommer den inte påverka fönsterstorleken, eftersom alla föregående uppgiftsvisningar redan kommer ha ritats ut.
- n | # :Ange maximala uppgifter
- Man kommer ombeds ange antalet uppgifter att visa. Det lägre av
talet och det tillgängliga antalet skärmrader kommer
användas.
När är i alternativt visningsläge ger detta kommando precis kontroll över storleken på varje samtidigt synlig uppgiftsvisning, utom den allra sista. Det kommer inte påverka det sista fönstrets storlek, eftersom alla föregående uppgiftsvisningar redan kommer ha ritats ut.
Obs: om man vill öka storleken på den sista synliga uppgiftsvisningen när man är i alternativt visningsläge, minska helt enkelt storleken på uppgiftsvisningen ovanför den.
SORTERING av uppgiftsfönster
kommando sorteringsfält stödjs A starttid (ej visat) Nej M %MEM Ja N PID Ja P %CPU Ja T TIME+ Ja
Före man använder någon av följande sorteringsmöjligheter föreslår top att man tillfälligt slår på kolumnmarkering med det interaktiva kommandog ”x”. Det kommer hjälpa att säkerställa att den faktiska sorteringsmiljön motsvarar ens avsikt.
Följande interaktiva kommandon kommer bara
följas när det aktuella sorteringsfältet är
synligt. Anledning till att sorteringsfältet inte
är synligt kan vara för att:
1) det finns otillräckligt med skärmbredd
2) det interaktiva kommandot ”f” slog Av det
- < :Flytta sorteringsfält åt vänster
- Flyttar sorteringskolumnen åt vänster om inte det aktuella sorteringsfältet är det första fältet som visas.
- > :Flytta sorteringsfält åt höger
- Flyttar sorteringskolumnen åt höger om inte det aktuella sorteringsfältet är det sista fältet som visas.
Följande interaktiva kommandon kommer alltid följas oavsett huruvida det akutella sorteringsfältet är synligt eller inte.
- f :Fälthantering
- Denna tangent visar en separat skärm där man kan ändra vilket fält so används som sorteringskolumn, bland andra funktioner. Detta kan vara ett bekvämt sätt att enkelt verifiera det aktuella sorteringsfältet när man kör top med kolumnmarkeringen Av.
- R :Inverst/Normalt sorteringsfältsväxel
- Genom att använda detta interaktiva kommando kan man byta mellan hög-till-låg och låg-till-hög sortering.
4d. FÄRGavbildning
När man ger det interaktiva kommandot ”Z” visas en separat skärm. Den skärmen kan användas för att ändra färgerna i bara det ”aktuella” fönstret eller i alla fyra fönstren innan man återvänder till top-visningen.
Följande interaktiva kommandon är tillgängliga.
4 versala bokstäver för att välja ett mål 8 nummer för att välja en färg normala tillgänliga växlar B :fetstil avaktivera/aktivera b :körande uppgift ”fet”/invers z :färg/mono andra tillgängliga kommandon a/w :verkställ, gå sedan till nästa/föregående <Enter> :verkställ och avsluta q :avbryt aktuella ändringar och avsluta
Om man använder ”a” eller ”w” för att gå igenom målfönster kommer man ha använt det färgschema som visades när man lämnade det fönstret. Man kan naturligtvis enkelt återvända till ett fönster och återapplicera andra färger eller helt slå Av färger med växeln ”z”.
Färgavbildningsskärmen kan även användas för att ändra den ”aktuella” fönster-/fältgruppen i antingen helskärmsläge eller alternativt visningsläge. Oavsett vad som var målet när ”q” eller <Enter> trycktes kommer göras aktuellt när man återvänder till top-visningen.
5. ALTERNATIVA SKÄRMARS utseende
5a. FÖNSTERöversikt
- Fältgrupper/fönster:
- I helskärmsläge finns det ett ensamt fönster
representerat av hela skärmen. Det enda fönstret kan
fortfarande ändras till att visa 1 av 4 olika
fältgrupper (se det interaktiva kommandot ”g”,
repeterat nedan). Vart och ett av de 4 fältgrupperna har ett unikt
separat konfigurerbart sammanfattningsområde och sitt egen
konfigurerbara uppgiftsområde.
I alternativt visningsläge kan dessa 4 underliggande fältgrupper nu göras synliga samtidigt, eller kan slås Av individuellt på kommando.
Sammanfattningsområdet kommer alltid finnas, även om det endast är meddelanderaden. Vid varje given tidpunkt kan endast ett sammanfattningsområde visas. Dock, beroende på givna kommandon, kan det finnas från noll till fyra separata uppgiftsvisningar samtidigt visade på skärmen.
- Aktuellt fönster:
- Det ”aktuella” fönstret är fönstret som
är kopplat till sammanfattningsområdet och fönstret
till vilket uppgiftsrelaterade kommandon alltid skickas. Eftersom man i
alternativt visningsläge kan växla Av
uppgiftsvisningen kan några kommandot vara begränsade
för ”aktuellt” fönster.
En ytterligare komplikation uppstår när man har slagit Av den första raden i sammanfattningsområdet. I och med att fönsternamnet försvinner (raden som växlas med ”l”) vet man inte enkelt vilket fönster som är det ”aktuella” fönstret.
5b. KOMMANDON för fönster
- - | _ :Visa/dölj fönsterväxel
- Tangenten ”-” slår På och Av det
”aktuella” fönstrets uppgiftsvisning. När det
är På kommer det uppgiftsområdet att visa ett
minimum av kolumhuvuden som har angivits med det interaktiva kommandot
”f”. Det kommer även avspegla eventella andra
flaggor/växlar för uppgiftsområdet som har
tillämpats vilket resulterar i noll eller flera uppgifter.
Tangenten ”_” gör detsamma för alla uppgiftsvisningar. Med andra ord byter det mellan den för närvarande synliga uppgiftsvisningen och alla uppgiftsvisning man har slagit Av. Om alla 4 uppgiftsvisningarna är syniga för närvarande kommer detta interaktiva kommando lämna kvar sammanfattningsområdet som det enda synliga elementet.
- * = | + :Utjämna/återställ fönster
- Tangenten ”=” tvingar det ”aktuella”
fönstrets uppgiftsvisning att vara synlig. Det
återställer också eventuella kommandon
”i” (inaktiva uppgifter), ”n” (max uppgifter),
”u/U” (användarfilter), ”o/O”
(övriga filter), ”v” (dölj barn),
”F” fokuserat, ”L” (lokalisera) och
”!” (kombinera cpu:er). Dessutom, om fönstret
är rullat, kommer det att återställas med detta
kommando. Se avsnittet 5c. RULLA ett fönster för ytterligare
information avseende vertikal och horisontell rullning.
Tangenten ”+” gör detsamma för alla fönster. De fyra uppgiftsvisningarna kommer komma tillbaka, jämnt balanserade, samtidigt som de behåller eventuella anpassningar som tidigare har gjorts utöver de som anges för det interaktiva kommandot ”=”.
- * A :Alternativt visningslägesväxel
- Detta kommando kommer byta mellan helskärmsläge och
alternativt visningsläge.
Första gången man ger detta kommando kommer alla fyra uppgiftsvisningar att visas. Därefter kommer man när man byter läge bara se de uppgiftsvisning man har valt att göra synliga.
- * a | w :Nästa fönster framåt/bakåt
- Detta kommer byta det ”aktuella” fönstret, vilket i
sin tur byter fönstret till vilket kommandon riktas. Dessa
tangenter fungerar på ett cirkulärt sätt så
att man kan nå alla fönster med vilken som helst av
tangenterna.
Under antagandet att fönsternamnet är synligt (man inte har slagit Av ”l”) så är när namnet på ”aktuellt” fönster tappar sin markering/färg är det en påminnelse om att uppgiftsvisningen är Av och många kommandon kommer vara begränsade.
- G :Ändra fönster-/fältgruppsnamn
- Man ombeds ange ett nytt namn som skall användas för det ”aktuella” fönstret. Det kräver itne att fönsternamnet är synligt (att växeln ”l” är På).
- *
- De interaktiva kommandon som visas med en asterisk (”*”) har
användning vid sidan av alternativt visningsläge.
=, A, g är alltid tillgängliga a, w fungerar på samma sätt med färgavbildning och fälthantering
- * g :Välj ett annat fönster/fältgrupp
- Man ombeds ange ett nummer mellan 1 och 4 som anger den fältgrupp
som skall göras till ”aktuellt” fönster.
I helskärmsläge är detta kommando nödvändigt för att ändra ”aktuellt” fönster. I alternativt visningsläge är det bara ett mindre bekvämt alterantiv till kommandona ”a” och ”w”.
5c. RULLA ett fönster
Typiskt är ett uppgiftsfönster en partiell vy in i systemets totala uppgifter/trådar som visar endast några av de tillgängliga fälten/kolumnen. Med dessa rullningstangenter kan man flytta den vyn vertikalt eller horisontellt för att uppvisa valfri uppgift eller kolumn.
- Upp,PgUp :Rulla uppgifter
- Flytta vyn upp mot den första uppgiftsraden, tills den första uppgiften visas på den översta raden av det ”aktuella” fönstret. Piltangenten upp flyttar en rad medan PgUp rullar hela fönstret.
- Ned,PgDn :Rulla uppgifter
- Flytta vyn ned mot den sista uppgiftsraden, tills den sista uppgiften är den enda som visas på den översta raden av det ”aktuella” fönstret. Piltangenten ned flyttar en rad medan PgDn rullar hela fönstret.
- Vänster,Höger :Rulla kolumner
- Flytta vyn av visningsbara fält horisontellt en kolumn åt
gången.
Obs: som en påminnelse, vissa fält/kolumner har inte fast bredd utan allokerar all återstånende skärmbredd när de är synliga. När man rullar till höger eller vänster kan den funktionen medföra i några oväntade resultat initialt.
Dessutom finns det speciella möjligheter för alla fält med variabel bredd när de är det sista visade fältet. När det fältet nås via höger piltangent, och det alltså är den enda visade kolumnen, kan man fortsätta rulla horisontellt inom ett sådant fält. Se det interaktiva kommandot ”C” nedan för ytterligare information.
- Home :Hoppa till hemposition
- Positionera om visningen till orullade koordinater.
- End :Hoppa till slutposition
- Positionera om visningen så att den högraste kolumnen visar
det sista visningsbara fältet och nedersta uppgiften representerar
den sista uppgiften.
Obs: från denna position är det fortfarande möjligt att rulla ned och höger med piltangenterna. Detta gäller ända tills en enda kolumn och en enda uppgift är kvar som det enda visade elementet.
- C :Visa rullningskoordinatersväxel
- Växla ett informationsmeddelande som visas närhelst
meddelanderaden inte används till något annat. Det
meddelandet kan ta en av två former beroende på huruvida en
kolumn med variabel bredd också har rullats eller inte.
rullkoordinater: y = n/n (uppgifter), x = n/n (fält) rullkoordinater: y = n/n (uppgifter), x = n/n (fält) + nn
Koordinaterna som visas som n/n är relativa till det övre vänstra hörnet av det ”aktuella” fönstret. Det ytterligare ”+ nn” representerar förskjutningen in i en kolumn med variabel bredd när den har rullats horisontellt. En sådan förskjutning går i normala 8-teckens tabulatorsteg via höger och vänster piltangent.
- y = n/n (uppgifter)
- Det första n representerar den översta synliga uppgiften och styrs av rullningstangenter. Det andra n uppdateras automatiskt att avspegla det totala antalet uppgifter.
- x = n/n (fält)
- Det första n representerar den nänstraste visade uppgiften och styrs av rullningstangenter. Det andra n är det totala antalet visningsbara fält och bestäms med det interaktiva kommandot ”f”.
Det ovanstående interaktiva kommandona är alltid tillgängliga i helskärmsläge men aldrig tillgängliga i alternativt visningsläge om uppgiftsvisningen för ”aktuellt” fönster har slagits Av.
Obs: när någon sorts filtrering är aktiv kan man räkna med några mindre avvikelser när man rullar eftersom inte alla uppgifter kommer vara synliga. Detta är särskilt uppenbart när man använder piltangenterna upp/ned.
5d. SÖKA i ett fönster
Man kan använda dessa interaktiva kommandon för att hitta en uppgiftsrad som innehåller ett visst värde.
- L :Lokalisera en sträng
- Man ombeds ge en skiftlägeskänslig sträng att
lokalisera med start från de aktuella fönsterkoordinaterna.
Det finns inga begränsningar på söksträngens
innehåll.
Sökningar är inte begränsade till värden från ett ensamt fält eller kolumn. Alla värden som visas i en uppgiftsrad är tillåtna i en söksträng. Man kan inkludera mellanslag, siffror, symboler och till och med skogsvyns illustration.
Att skriva <Enter> utan någon indata får effekten att avaktivera tangenten ”&” tills en ny söksträng skrivs in.
- & :Lokalisera nästa
- Under antagandet att en söksträng har etablerats, top kommer försöka att hitta nästa förekomst.
När en träff hittas positioneras det aktuella fönstret om vertikalt så att uppgiftsraden som innehåller den strängen är först. Meddelandet om rullningskoordinater kan ge bekräftelse om sådan vertikal ompositionering (se det interaktiva kommandot ”C”). Horisantal skrollning ändras dock aldrig via sökningar.
Tillgängligheten av en matchande sträng kommer påverkas av följande faktorer.
- a. Vilka fält som är visningsbara bland alla tillgängliga,
- se avsnittet 3b. HANTERING av fält.
- b. Rullning av ett fönster vertikalt och/eller horisontellt,
- se avsnittet 5c. RULLA ett fönster.
- c. Tillståndet på växeln kommando/kommandorad,
- se det interaktiva kommandot ”c”.
- d. Stabiliteten hos den valda sorteringskolumnen,
- till exempel är PID bra men %CPU dåligt.
Om en sökning misslyckas kan att återställa det ”aktuella” fönstret till hempositionen (orullat), att rulla horisontellt, att visa kommandorader eller att välja ett mer stabilt sorteringsfält ändå ge en lyckad ”&”-sökning.
Det ovanstående interaktiva kommandona är alltid tillgängliga i helskärmsläge men aldrig tillgängliga i alternativt visningsläge om uppgiftsvisningen för ”aktuellt” fönster har slagits Av.
5e. FILTRERA i ett fönster
Man kan använda denna funktion ”övrigt filter” för att etablera urvalskriteria som sedan kommer att avgöra vilka uppgifter som visas i det ”aktuella” fönstret. Sådana filter kan göras varaktiga om de sparas i rcfile:n via det interaktiva kommandot ”W”.
Att skapa ett filter kräver: 1) ett fältnamn; 2) en operator; och 3) ett urvalsvärde, åtminstone. Detta är det mest komplexa av tops användarinmatningskrav, så när man gör ett misstag kommer återkallande av kommando att vara din vän. Kom ihåg piltangenterna upp/ned eller deras alias när du får frågan om inmatning.
Filtergrunder
- 1. fältnamn är skiftlägeskänsliga och stavas som i huvudet
- 2. urvalsvärden behöver inte utgöra hela det visade fältet
- 3. ett urval är antingen skiftlägseokänsligt eller känsligt för skiftläge
- 4. standard är att inkludera, ett inledande ”!” markerar exkludering
- 5. flera urvalksriterium kan användas på ett uppgiftsfönster
- 6. inkluderings- och exkluderingskriterium kan användas samtidigt
- 7. 1 likhetsfiltren och 2 jämförande filter kan blandas fritt
- 8. separata unika filter hanteras för varje uppgiftsfönster
Om ett fält inte är påslaget eller inte visas för närvarande kommer inte urvalskriteriumet påverka vad som visas. Skulle ett filtrerat fält senare bli synligt kommer urvalskriteriumet användas då.
Tangentbordssammanfattning
- O :Annat filter (versalt)
- Man ombeds skapa ett skiftlägskänsligt filter.
- o :Annat filter (gement)
- Man ombeds skapa ett filter som ignorerar skiftläge vid matchning.
- ^O :Visa aktiva filter (Ctrl-tangent + ”o”)
- Detta kan fungera som en påminnelse om vilka filter som är aktiva i det ”aktuella” fönstret. En sammanfattning kommer visas på meddelanderaden till man trycker på tangenten <Enter>.
- = :Återställ filtrering i aktuellt fönster
- Detta tömmar alla gjorda urvalskriterier i det ”aktuella” fönstret. Det har även ytterligare effekter, så se avsnittet 4a. GLOBALA kommandon.
- + :Återställ filtrering i alla fönster
- Detta tömmar alla gjorda urvalskriterier i alla fönster, under antagandet att man är i alternativt visningsläge. Liksom med det interaktiva kommandot ”=” har även detta ytterligare konsekvenser, så man kan vilja se avsnittet 5b. KOMMANDON för fönster.
Inmatningskrav
Vid frågan om urvalskriterier måste de data man ger ta en av två former. Det finns 3 nödvändiga bitar information, med en frivillig 4:e. Dessa exempel använder mellanslag för tydlighet men ens inmatning gör i allmänhet inte det.
#1 #2 #3 ( obligatorisk) Fältnamn ? inkludera-om-värde ! Fältnamn ? exkludera-om-värde #4 ( frivilligt )
Posterna #1, #3 och #4 bör vara självförklarande. Post #2 representerar påde en nödvändig avgränsare och operatorn som måste vara en av antingen likhet (”=”) eller relation (”<” eller ”>”).
Likhetsoperatorn ”=” behöver bara en partiell matchning och det kan begränsa kraven på ”om-värdet”. Relationsoperatorerna ”>” eller ”<” gör alltid strängjämförelser, även med numeriska fält. De är gjorda för att fungera med ett fälts standardjustering och med homogena data. När några fälts numeriska storlekar har varit föremål för skalning medan andra inte har det, då är datan inte längre homogen.
Om man skapar ett relationsfilter och man har ändrat standardvärdet för numerisk- eller teckenjustering är det troligt att det filtret misslyckas. När ett relationsfilter används på ett minnesfält och man inte har ändrat skalningen kan det generera missledande resultat. Detta händer, till exempel, för att ”100.0m” (MiB) skulle förefalla större än ”1.000g” (GiB) när de jämförs som strängar.
Om det filtrerade resultatet verkar misstänkt, kan att ändra justeringen eller skalningen åstadkomma det önskade resultatet. Se de interaktiva kommandona ”j”, ”J” och ”e” för ytterligare information.
Potentiella problem
Dessa GRUPPfilter kan ge exakt samma resultat eller så kan det andra inte visa någonting alls, bara ett blankt uppgiftsfönster.
GRUPP=root ( endast samma sak när de ) GRUPP=ROOT ( skapats via gement ”o” )
Endera av dessa RES-filter kan ge inkonsistenta och/eller missledande resultat, beroende på den aktuella minnesskalningsfaktorn. Eller så kan båda filtren ge exakt samma resultat.
RES>9999 ( endast samma resultat när ) !RES<10000 ( minnesskalningen är ”KiB” )
Detta aSmå-filter illustrerar ett problem som är unikt för skalbara fält. Detta specifika fält kan visa maximalt 4 siffror, utöver vilket värden automatiskt skalas till KiB eller större. Så medan värden större än 9999 förekommer, kommer de att uppträda som 2.6m, 197k, etc.
aSmå>9999 ( alltid ett tomt uppgiftsfönster )
Potentiella lösningar
Dessa exempel illustrerar hur annan filtrering kan göras på ett kreativt sätt för att uppnå nästan vilket önskat resultat som helst. Enkla citationstecken visas ibland för att avgränsa mellanrum som är del av ett filter eller för att representera en begäran om status (^O) precist. Men om man använder dem med om-värden i verkligheten skulle inga matchningar hittas.
Under antagandet att fältet aTR visas kommer det första filtret resultera i att endast multitrådade processer visas. Det påminner oss också om att ett efterföljande mellanslag utgör en del av varje visat fält. Det andra filtret åstadkommer precis samma sak med mindre att skriva.
!aTR=` 1 ' ( ` endast för tydlighet ) aTR>1 ( samma sak med mindre indata )
Med skogsvysläget aktivt och kolumnen KOMMANDO synlig fäller det här filtret i praktiken ihop barnprocesser så att endast 3 nivåer visas.
!KOMMANDO=` `- ' ( ` endast för tydlighet )
De sista två filtren kommer som svar på tangenten för statusbegärande (^O). I praktiken skulle varje filter ha krävt en separat inmatning. Exemplet PR visar de två samtidiga filtren som behövs för att visa uppgifter med prioriteter på 20 eller mer, eftersom några kan vara negativa. Sedan genom att utnyttja efterföljande blanktecken skulle serien av aSmå-filter åstadkomma det misslyckade syftet ”9999” som diskuterades ovan.
`PR>20' + `!PR=-' ( 2 för rätt resultat ) `!aSmå=0 ' + `!aSmå=1 ' + `!aSmå=2 ' + `!aSmå=3 ' …
6. FILER
6a. PERSONLIG konfigurationfil
Denna fil skapas eller uppdateras via det interaktiva kommandot ”W”.
Den gamla versionen skrivs som ”$HOME/.ditt-namn-4-top” + ”rc” med en inledande punkt.
En nyligen skapad konfigurationsfil skrivs som ”procps/ditt-namn-4-top” + ”rc” utan en inledande punkt. Procps-katalogen kommer ligga under antingen $XDG_CONFIG_HOME när den är satt till en aboslut sökväg eller katalogen $HOME/.config.
Även om den inte är avsedd att redigeras manuellt följer här den allmänna layouten:
global # rad 1: programmets namn-/aliasnotation " # rad 2: id,altscr,irixps,delay,curwin för var # rad a: winname,fieldscur fönster # rad b: winflags,sortindx,maxtasks,etc " # rad c: summclr,msgsclr,headclr,taskclr global # rad 15: ytterligare blandade inställningar " # eventuella återstående rader är ägnade åt valfria " # aktiva ”andra filter” diskuterade i avsnitt 5e ovan " # plus ”inspektions”-poster diskuterade i avsnitt 6b nedan
Om inte en giltig absolut sökväg till rcfil:en kan skapas kommer anpassningar gjorda till en körade top vara omöjliga att bevara.
6b. LÄGGA TILL INSPEKTIONSposter
För att utnyttja det interaktiva kommandot ”Y” måste man lägga till poster till slutet av tops personliga konfigurationsfil. Sådana poster visar en fil som skall läsas eller kommandon/rör som skall köras vars resultat sedan kommer visas i ett separat rullbart, sökbart fönster.
Om man inte vet platsen för eller namnet på ens top-rcfil, använd det interaktiva kommandot ”W” för att skriva om den och notera dessa detaljer.
Inspektionsposter kan läggas till med en omdirigerad echo eller genom att redigera konfigurationsfilen. Omdirigering av echo riskerar att skriva över rcfile:n ifall det skulle ersätta (>) istället för att lägga till (>>) till den filen. Omvänt, när man använder en redigerare måste man vara noga att inte skada befintliga rader, där några av dem kan innehålla oskrivbara data eller ovanliga tecken beroende på versionen av top under vilken den konfigurationsfilen sparades.
De inspektionsposter som börjar med ett ”#”-tecken som ignoreras, oavsett deras innehåll. Annars består de av följande 3 element, varav vart och ett måste separeras av ett tabulatortecken (alltså 2 ”\t” totalt):
.type: ordagrannt ”file” eller ”pipe” .name: val visat på inspektionsskärmen .fmts: sträng representerande en sökväg eller ett kommando
De två typerna av inspektionsposter är inte utbytbara. De markerade ”file” kommer hämtas med fopen och måste referera en ensam fil i ”.fmts”-elementet. Poster som anger ”pipe” kommer använda popen, deras ”.fmts”-element kan innehålla flera kommandon i rör och inget av dem kan vara interaktivt.
Om filen eller röret som representeras i ”.fmts” hanterar den specifika PID som matas in eller accepteras på förfrågan så måste formatsträngen även innehålla specificeraren ”%d”, som dessa exempel illustrerar.
.fmts= /proc/%d/numa_maps .fmts= lsof -P -p %d
Specifikt för poster av typen ”pipe” kan man även vilja omdirigera standard fel till standard ut för ett mer fullständigt resultat. Formatsträngen blir alltså:
.fmts= pmap -x %d 2>&1
Här är exempel på båda typerna av inspektionsposter som de kan förekomma i rcfil:en. Den första posten kommer ignoreras på grund av det inledande ”#”-tecknet. För tydlighets skull är låtsastabulatorillustrationen (^I) omgiven av ett extra mellanslag men de faktiska tabulatorerna skall inte vara det.
# pipe ^I Uttag ^I lsof -n -P -i 2>&1 pipe ^I Öppna filer ^I lsof -P -p %d 2>&1 file ^I NUMA-info ^I /proc/%d/numa_maps pipe ^I Logg ^I tail -n100 /var/log/syslog | sort -Mr
Med undantag för den utkommenterade posten ovan visar dessa exempel vad som skulle kunna echo:as för att åstadkomma liknande resultat, under antagandet att rcfil:ens namn var ”.toprc”. På grund av de inbäddade tabulatortecknen skall dock var och en av dessa rader föregås av ”/bin/echo -e”, inte bara ett ensamt ”echo”, för att aktivera tolkning av omvända snedstreck oavsett vilket skal man använder.
"pipe\tÖppna filer\tlsof -P -p %d 2>&1" >> ~/.toprc "file\tNUMA-info\t/proc/%d/numa_maps" >> ~/.toprc "pipe\tLogg\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc
Om någon inspektionspost man skapar ger utdata med oskrivbara tecken kommer de visas med antingen notationen ^C eller hexadesimalt <FF> där formen beror på deras värde. Detta gäller även tabulatortecken, vilka kommer visas som ”^I”. Om man vill ha en mer sann representation bör alla inbäddade tabulatorer expanderas. Följande exempel tar vad som skulle kunna ha varit en ”file”-post men använder en ”pipe” istället för att expandera de inbäddade tabulatorerna.
# det följande skulle ha innehållit ”\t” … # file ^I <ditt_namn> ^I /proc/%d/status # men detta kommer eliminera inbäddade ”\t” … pipe ^I <ditt_namn> ^I cat /proc/%d/status | expand -
Obs: några program kan bero på SIGINT för att avsluta. Därför måste man, om en ”pipe” som den följande skapas, använda Ctrl-C för att avsluta den för att kunna se resultatet. Detta är det enda tillfälle då ett ”^C” inte även kommer avsluta top.
pipe ^I Spåra ^I /usr/bin/strace -p %d 2>&1
Slutligen, även om poster av typen ”pipe” har diskuterats i termer av rör och kommandon finns det inget som hindrar att man också inkluderar skalskript. Kanske även nyskapade skript gjorde specifikt för det interaktiva kommandot ”Y”.
Till exempel, allteftersom antalet inspektposter man har växer med tiden kommer raden ”Alternativ:” att huggas av när skärmbredden överskrids. Det påverkar inte funktionen annat än att det gör några val osynliga. Om några val förloras på grund av avhuggning men man vill se fler alternativ finns det dock en enkel lösning som antyds nedan.
Inspektion Paus vid pid … Använd: vänster/höger och <Retur> … Alternativ: hjälp 1 2 3 4 5 6 7 8 9 10 11 …
Posterna i tops rcfil kunde ha ett nummer som elementet ”.name” och posten ”hjälp” kunde identifiera ett skalskript man skriver som förklarar vad dessa numrerade val faktiskt betyder. På så sätt kan många fler val vara synliga.
6c. SYSTEMkonfigurtionsfil
Denna konfigurationsfil representerar standardvärden för alla användare som inte har sparat sin egen konfigurationsfil. Formatet speglar exakt den personliga konfigurationsfilen och kan även innehålla ”inspektions”-poster som förklaras ovan.
Att skapa den är enkelt.
1. Konfigurera top som den skall vara för installationen och bevara den konfigurationen med det interaktiva kommandot ”W”.
2. Lägg till och prova eventuella önskade ”inspektions”-poster.
3. Kopiera den konfigurationsfilen till katalogen /etc/ som ”topdefaultrc”.
6d. SYSTEMbegränsningsfil
Förekomsten av denna fil kommer påverka vilken version av hjälpskärmen som visas för en vanlig användare.
Viktigare än så kommer den begränsa vad vanliga användare tillåts göra när top kör. De kommer inte att kunna ge följande kommandon.
k Döda en uppgift r Ändra nice-värde för en uppgift d el. s Ändra fördröjnings-/sovintervall
Denna konfigurationsfil skapas inte av top. Istället skapas den manuellt och placeras i katalogen /etc/ som ”toprc”.
Den skall ha precis två rader, som visas i detta exempel:
s # rad 1: växel för byte till säkert läge 5.0 # rad 2: fördröjningsintervall i sekunder
7. MILJÖVARIABLER
Värdet som sätts på följande är oviktigt, bara att den finns.
- LIBPROC_HIDE_KERNEL
- Detta kommer förhindra visningen av alla kärntrådar och utesluta sådana processer från sammanfattningsområdets sammanräkning av uppgifter/trådar.
8. DUMMA TRICK-exempel
Många av dessa trick fungerar bäst när man ger top ett lyft i schemaläggningen. Så planera att starta den med ett nice-värde på -10, under antagandet att du har rätt till det.
7a. Kärnmagi
För dessa dumma trick behöver top helskärmsläge.
- Användargränssnittet, via frågor och hjälp,
implicerar avsiktligen att fördröjningsintervallet är
begränsat till tiondelar av en sekund. Det står en dock
fritt att sätta godtyckligt önskat värde. Vill man se
Linux i sin bästa schemaläggningsform, prova en
fördröjning på 0,09 sekunder eller mindre.
För detta experiment öppna en xterm och maximera den. Gör sedan följande:
. ge en schemaläggningslyft och en kort fördröjning via nice -n -10 top -d.09 . håll markering av sorteringskolumn Av för att minimera sökvägslängd . slå På markering med invers text för betoning . prova olika sorteringskolumner (TID/MIN fungerar bra), och vanlig eller omvänd sortering för att ta fram de mest aktiva processerna i bild
Vad man får se är en väldigt upptagen Linux som gör vad den alltid gjort, men det fanns inget program tillgängligt för att illustrera detta.
- Under en xterm med ”vitt-på-svart”-färger
sätt i tops färgavbildningsskärm
uppgiftsfärgen till svart och se till att uppgiftsmarkering
är satt till fetstil, inte invers. Sätt sedan
fördröjningsintervallet till runt 0,3 sekunder.
Efter att ha fått de mest aktiva processerna i bild är vad man får se de spöklika avbilderna av de jus nu körande uppgifterna.
- Radera den befintliga rcfil:en elelr skapa en ny symbolisk länk.
Starta denna nya version och skriv sedan ”T” (en hemlig
tangent, se avsnittet 4c. uppgiftsområdets kommandon, SORTERING)
följt av ”W” och ”q”. Slutligen, starta
om programmet med -d0 (noll i fördröjning).
Skärmen kommer uppdateras med tre gånger så hög hastighet som den tidigare top, en 300 % hastighetsuppdatering. Eftersom top klättrar uppför TID-stegen, var så tålmodig som möjligt under spekulation huruvida top någonsin kommer nå toppen, eller inte.
7b. Studsande fönster
För dessa dumma trick behöver top alternativt visningsläge.
- Med 3 eller 4 uppgiftsvisningar synliga, välj något annat fönster än det sista och slå Av inaktiva processer med det interaktiva kommandot ”i”. Beroende på var du använde ”i” studsar ibland flera uppgiftsvisningar och ibland är det som ett dragspel, eftersom top gör sitt bästa för att allokera plats.
- Sätt varje fönsters sammanfattningsrader olika: en utan minne (”m”); ett annat utan tillstånd (”t”); kanske ett utan något alls, bara meddelanderaden. Håll sedan ner ”a” eller ”w” och se en variation av studsande fönster — hoppande fönster.
- Visa alla 4 fönstren och för vart och ett i ordning sätt inaktiva processer Av med det interaktiva kommandot ”i”. Du har just gått in i zonen ”extrem studs”.
7c. Den stora fågelns fönster
Detta dumma trick behöver också alternativt visningsläge.
- •
- Visa alla 4 fönster och se till att 1:Def är det
”aktuella” fönstret. Öka sedan
fönsterstorleken med det interaktiva kommandot ”n”
tills alla de andra uppgiftsvisningarna ”tryckts ur boet”.
När de alla har tryckts undan, växla mellan alla synliga/osynliga fönster genom att använda kommandoflaggaan ”_”. Fundera sedan på detta:
narras top eller berättar den sanningsenligt din påtvingade sanning?
7d. Den gamla förväxlingen
Detta dumma trick fungerar bäst utan alternativt visningsläge eftersom justering är aktivt på basis av varje fönster.
- •
- Starta top och gör KOMMANDO till den sista (högraste)
kolumnen som visas. Om nödvändigt, använd
kommandoflaggan ”c” för att visa kommandorader och se
till att skogsvyläget är aktivt med kommandoflaggan
”V”.
Använd sedan piltangenterna upp/ned för att placera skärmen så att några avhuggna kommandorader visas (”+” i sista positionen). Man kan behöva ändra storlek på sin xterm för att åstadkomma trunkering.
Använd slutligen kommandoflaggan ”j” för att göra kolumnen KOMMANDO högerjusterad.
Använd nu höger piltangent för att nå kolumnen KOMMANDO. Fortsätt med höger piltangent, och titta noga riktingen på rörelsen för kommandoraderna som visas.
några rader rör sig till vänster, medan andra rör sig åt höger
slutligen kommer alla rader växla runt, och röra sig åt höger
9. FEL
Skicka felrapporter till procps@freelists.org. Skicka synpunkter på översättningen till tp-sv@listor.tp-sv.se
10. SE även
free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)
Augusti 2023 | procps-ng |