TOP(1) | Användarkommandon | TOP(1) |
top — visa Linuxprocesser
top [flaggor]
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.
Å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
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
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.
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.
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.
k — kibibyte m — mebibyte g — gibibyte t — tebibyte p — pebibyte e — exbibyte
Detta kan senare ändras med kommandoflaggan ”E”.
k — kibibyte m — mebibyte g — gibibyte t — tebibyte p — pebibyte
Detta kan senare ändras med kommandoflaggan ”e”.
Denna flagga finns primärt för att stödja automatisk/skriptad satsvis drift.
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.
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.
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.
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.
Se de interaktiva kommandona ”1” och ”2” för ytterligare information.
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.
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
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”.
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
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.
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”.
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.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
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.
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.
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.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
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.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
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.
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.
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).
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.
Se de interaktiva kommandona ”2” och ”3” för ytterligare NUMA-möjligheter som påverkar sammanfattningsområdet.
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).
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.
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.
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.
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
Uppgifter 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.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
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.
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).
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)
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
Att komma åt smaps-värden är 10× dyrare än annan minnesstatistik och data för andra användare kräver root-privilegier.
Se ”ÖVERSIKT, Linux minnestyper” för ytterligare detaljer.
Root-privilegier krävs för att visa ”io”-data för andra användare.
Detta fält är föråldrat sedan linux 2.6 och är alltid noll.
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.
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.
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, =, +
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.
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.
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.
Dessutom, om fönstret har rullats kommer det at återställas av detta kommando.
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å.
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.
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.
Ä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”.
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>
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>
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.
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>
^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.
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>.
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.
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.
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
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.
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”.
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.
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.
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
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.
INNEHÅLL i uppgiftsfönstret
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.
Se avsnittet 5e. FILTRERA i ett fönster för detaljer om dessa och andra relaterade interaktiva kommandon.
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.
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.
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ä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.
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
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ä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
Följande interaktiva kommandon kommer alltid följas oavsett huruvida det akutella sorteringsfältet är synligt eller inte.
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.
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.
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.
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.
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 ”=”.
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.
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.
=, A, g är alltid tillgängliga a, w fungerar på samma sätt med färgavbildning och fälthantering
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”.
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.
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.
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.
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.
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.
Man kan använda dessa interaktiva kommandon för att hitta en uppgiftsrad som innehåller ett visst värde.
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.
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.
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.
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
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
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 ' …
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.
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.
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”.
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
Värdet som sätts på följande är oviktigt, bara att den finns.
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.
För dessa dumma trick behöver top helskärmsläge.
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.
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.
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.
För dessa dumma trick behöver top alternativt visningsläge.
Detta dumma trick behöver också alternativt visningsläge.
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?
Detta dumma trick fungerar bäst utan alternativt visningsläge eftersom justering är aktivt på basis av varje fönster.
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
Skicka felrapporter till procps@freelists.org. Skicka synpunkter på översättningen till tp-sv@listor.tp-sv.se
free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)
Augusti 2023 | procps-ng |