Provided by: procps_4.0.4-4ubuntu3.2_amd64
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) I liket med vad som gällde för ”ARSS” ovan (total proportionell andel resident minne) representerar dessa fält andelen av denna uppgifts del av varje typ av minne dividerat med antalet processer som delar det. 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 = zombie 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. 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 .sp 40u 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”) Tillämpat på den första visade processen kommer dessa kommandon visa den uppgiftens fullständiga (eventuellt radbrutna) information. Sådana data kommer visas i ett separat fönster längst ner på skärmen medan normal top-monitorering fortsätter. 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. Följande kommandon kommer även att påverkas av tillståndet hos den globala växeln ”B” (aktivera fetstil). 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 För kompatibilitet stödjer denna top de flesta tidigare top sorteringstangenter. Eftersom detta primärt är en tjänst till tidigare användare av top, finns dessa kommandon inte med på någon hjälpskärm. 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)