TOP(1) | Comenzi utilizator | TOP(1) |
top - Afișează procesele Linux
top [opțiuni]
Programul \*(WE oferă o vizualizare dinamică în timp real a sistemului care rulează. Poate afișa un rezumat al informațiilor sistem, precum și o listă a \*(TT) gestionate în prezent de către nucleu. Tipurile de informații rezumate ale sistemului afișate și tipurile, ordinea și dimensiunea informațiilor afișate pentru procese sunt toate configurabile de utilizator și acea configurație poate fi persistentă în timpul repornirilor.
Programul oferă o interfață interactivă limitată pentru manipularea procesului, precum și o interfață mult mai extinsă pentru configurarea personală -- cuprinzând fiecare aspect al funcționării sale. Și în timp ce top este menționat în acest document, sunteți liber să denumiți programul oricum doriți. Noul nume, eventual un alias, va fi apoi reflectat pe afișajul lui top și va fi folosit la citirea și scrierea unui fișier de configurare.
Cuprins
PREZENTARE GENERALĂ Funcționarea programului Tipuri de memorie Linux 1. Opțiuni pentru LINIA DE COMANDĂ 2. Afișarea REZUMATULUI a. Mediile de ÎNCĂRCARE și TIMPUL de FUNCȚIONARE b. SARCINI și Stări CPU c. Utilizarea MEMORIEI 3. CÂMPURI / Afișarea coloanelor a. DESCRIEREA Câmpurilor b. GESTIONAREA Câmpurilor 4. Comenzi INTERACTIVE a. Comenzi GLOBALE b. Comenzi din ZONA de REZUMAT c. Comenzi din ZONA de SARCINI 1. Aspect 2. Conținut 3. Dimensiune 4. Sortare d. Paleta de CULORI 5. Dispoziții privind AFIȘAREA ALTERNATIVĂ a. Prezentare generală pentru ferestre b. Comenzi pentru ferestre c. Derularea unei ferestre d. Căutarea într-o fereastră e. Filtrarea într-o fereastră 6. FIȘIERE a. Fișier de configurare PERSONAL b. Adăugarea de intrări de INSPECTARE c. Fișier de configurare a SISTEMULUI d. Fișier de restricții ale SISTEMULUI 7. VARIABILE DE MEDIU 8. Exemplu de TRUCURI STUPIDE a. Magia nucleului b. Ferestre care apar c. Fereastra Pasărea Mare d. Vechiul comutator 9. ERORI, 10. CONSULTAȚI ȘI
Când lucrați cu top, cele mai importante taste sunt tasta de ajutor (h sau ?) și tasta de ieșire („q”). Alternativ, puteți utiliza pur și simplu tasta tradițională de întrerupere (^C) când ați terminat.
Când porniți pentru prima dată, vi se vor prezenta aceste elemente tradiționale în ecranul principal al top: 1) Zona de rezumat; 2) Antet Câmpuri/Coloane; 3) Zona de sarcini. Fiecare dintre acestea va fi explorată în secțiunile care urmează. Există, de asemenea, o linie de intrare/mesaj între zona de rezumat și antetul coloanelor care nu are nevoie de explicații suplimentare.
Ecranul principal al top este, în general, destul de adaptabil la modificările dimensiunilor terminalului sub X-Windows. Alte ecrane top pot fi mai puțin adaptabile, mai ales cele cu text static. Totuși, aceasta depinde în cele din urmă de managerul de ferestre și de emulatorul de terminal, în particular. Pot exista ocazii în care viziunea lor asupra dimensiunii terminalului și a conținutului curent diferă de viziunea lui top, care se bazează întotdeauna pe apelurile sistemului de operare.
În urma oricărei operațiuni de redimensionare, dacă un ecran top este corupt, apare incomplet sau dezordonat, simpla tastare a ceva inofensiv, cum ar fi un caracter de punctuație sau o tastă de mișcare a cursorului, îl va restabili de obicei. În cazuri extreme, următoarea secvență va avea aproape sigur, acest efect:
tasta/cmd obiectiv ^Z suspendare top fg reluare top <Stânga> forțează redesenarea ecranului (dacă este necesar)
Dar dacă afișajul este încă corupt, mai există un pas pe care îl puteți încerca. Introduceți această comandă după ce top a fost suspendat, dar înainte de al relua.
tasta/cmd obiectiv reset restabilește configurările terminalului
Notă: lățimea afișajului lui top va fi limitată la 512 poziții. Afișarea tuturor câmpurilor necesită aproximativ aproximativ 250 de caractere. Lățimea rămasă a ecranului este de obicei alocată oricăror coloane cu lățime variabilă vizibile în prezent. Coloanele cu lățime variabilă, cum ar fi COMANDĂ, sunt notate în subiectul 3a. DESCRIEREA Câmpurilor. Lățimea reală de ieșire poate fi, de asemenea, influențată de opțiunea „-w”, care este discutată în subiectul 1. Opțiuni pentru LINIA DE COMANDĂ.
În cele din urmă, unele dintre ecranele sau funcțiile lui top necesită utilizarea tastelor de mișcare a cursorului, cum ar fi tastele săgeți standard plus tastele «Home», «Fin», «PgUp» și «PgDn». Dacă terminalul sau emulatorul dumneavoastră nu furnizează acele chei, următoarele combinații sunt acceptate ca alternative:
tasta taste echivalente Stânga alt + h Jos alt + j Sus alt + k Dreapta alt + l Home alt + ctrl + h PgDn alt + ctrl + j PgUp alt + ctrl + k End alt + ctrl + l
Tastele săgeată Sus și Jos au o semnificație specială atunci când solicitarea liniei de intrare este terminată cu tasta <Enter>. Aceste taste, sau aliasurile lor, pot fi folosite pentru a prelua liniile de intrare anterioare care pot fi apoi editate și reintroduse. Și există patru taste suplimentare disponibile orientate pe linia de intrare.
tasta semnificația specială Sus reapelează șirurile mai vechi pentru re-editare Jos reapelează șirurile mai noi sau șterge întreaga linie Insert comută între modurile de inserare și suprascriere Delete elimină caracterul de la cursor, deplasându-le pe celelalte spre stânga Home saltă la începutul liniei de intrare End saltă la sfârșitul liniei de intrare
Pentru scopurile noastre, există trei tipuri de memorie, din care unul este opțional. Primul este memoria fizică, o resursă limitată în care codul și datele trebuie să se găsească atunci când sunt executate sau referențiate. Următorul este fișierul de interschimb(swap) opțional, unde memoria modificată (murdară) poate fi salvată și ulterior preluată dacă se solicită prea multe memorie fizică. În cele din urmă, avem memoria virtuală, o resursă aproape nelimitată care servește următoarele obiective:
1. abstractizare, liberă de adresele sau limitele memoriei fizice 2. izolare, fiecare proces într-un spațiu de adrese separat 3. partajare, o singură memorizare(mapping) poate satisface nevoi multiple 4. flexibilitate, atribuirea unei adrese virtuale unui fișier
Indiferent de care dintre aceste forme o poate lua memoria, toate sunt gestionate ca pagini (de obicei 4096 de octeți), dar sunt exprimate implicit în top ca Kio (kibiocteți). Memoria discutată la punctul „2c. Utilizarea MEMORIEI” se ocupă de memoria fizică și fișierul de interschimb(swap) pentru sistemul în ansamblul său. Memoria examinată la punctul „3. CÂMPURI / Afișarea coloanelor” cuprinde toate cele trei tipuri de memorie, dar pentru procese individuale.
Pentru fiecare astfel de proces, fiecare pagină de memorie este restricționată la un singur cadran din tabelul de mai jos. Atât memoria fizică, cât și memoria virtuală pot include oricare dintre cele patru, în timp ce fișierul de interschimb (swap) include doar de la #1 la #3. Memoria din cadranul #4, când este modificată, acționează ca propriul fișier de interschimb dedicat.
Privată | Partajată 1 | 2 Anonimă . stack | . malloc() | . brk()/sbrk() | . POSIX shm* . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON) -----------------------+---------------------- . mmap(PRIVATE, fd) | . mmap(SHARED, fd) Pe baza fișierului . pgms/shared libs | 3 | 4
Următoarele pot ajuta la interpretarea valorilor de memorie la nivel de proces afișate sub formă de coloane scalabile și discutate în subiectul „3a. DESCRIEREA Câmpurilor”.
%MEM - pur și simplu RES împărțită la memoria fizică totală CODE - porțiunea „pgms” din cadranul 3 DATA - întreaga porțiune din cadranul 1 a VIRT plus toate paginile salvate în fișiere mmap explicite din cadranul 3 RES - orice ocupă memorie fizică care, începând cu Linux-4.5, este suma următoarelor trei câmpuri: RSan - paginile cadranului 1, care includ orice pagini din cadranul 3 anterior, dacă sunt modificate RSfd - paginile cadranului 3 și cadranului 4 RSsh - paginile cadranului 2 RSlk - subset de RES care nu poate fi transferat (orice cadran) SHR - subset de RES (exclude 1, include toate 2 și 4, unele 3) SWAP - potențial orice cadran, cu excepția cadranului 4 USED - pur și simplu suma dintre RES și SWAP VIRT - tot ce este în uz și/sau rezervat (toate cadranele)
Notă: Chiar dacă imaginile de program și bibliotecile partajate sunt considerate private pentru un proces, ele vor fi considerate ca fiind partajate (SHR) de către nucleu.
Argumentele obligatorii pentru opțiunile lungi sunt deasemenea obligatorii pentru opțiunile scurte.
Deși nu este necesar, semnul egal poate fi folosit cu fiecare formă de opțiune, iar spațiile în alb înainte și/sau după „=” sunt permise.
Fracțiunile de secunde sunt luate în calcul, dar nu este permis un număr negativ. Cu toate acestea, în toate cazurile, astfel de modificări sunt interzise dacă top rulează în modul Securizat, cu excepția root (cu excepția cazului în care a fost utilizată opțiunea de linie de comandă „s”). Pentru informații suplimentare despre modul Securizat, consultați subiectul 6d. Fișier de restricții ale SISTEMULUI.
k = kibiocteți m = mebiocteți g = gibiocteți t = tebiocteți p = pebiocteți e = exbiocteți
Ulterior, acest lucru poate fi schimbat cu ajutorul comenzii „E”.
k = kibiocteți m = mebiocteți g = gibiocteți t = tebiocteți p = pebiocteți
Ulterior, acest lucru poate fi schimbat cu ajutorul comenzii „e”.
Această opțiune există în primul rând pentru a sprijini operarea în modul automat/loturi de comenzii.
Această opțiune poate fi dată de până la 20 de ori sau puteți furniza o listă delimitată prin virgule cu până la 20 de pid-uri. Este permisă combinarea ambelor abordări.
O valoare pid de zero va fi tratată ca fiind id-ul de proces al programului top însuși, odată ce acesta rulează.
Aceasta este doar o opțiune de linie de comandă și dacă doriți să reveniți la funcționarea normală, nu este necesar să părăsiți și să reporniți top -- pur și simplu lansați oricare dintre aceste comenzi interactive: „=”, „u” sau „U”.
Opțiunile de linie de comandă „p”, „u” și „U” se exclud reciproc.
Adăugarea unui semn de exclamare („!”) la ID-ul sau numele utilizatorului îi indică lui top să afișeze numai procesele cu utilizatori care nu se potrivesc cu cel furnizat.
Opțiunile de linie de comandă „p”, „U” și „u” se exclud reciproc.
Adăugarea unui semn de exclamare („!”) la ID-ul sau numele utilizatorului îi indică lui top să afișeze numai procesele cu utilizatori care nu se potrivesc cu cel furnizat.
Opțiunile de linie de comandă „p”, „U” și „u” se exclud reciproc.
În modul de afișare normal, atunci când este utilizată fără un argument, top va încerca să formateze ieșirea folosind variabilele de mediu COLUMNS= și LINES=, dacă sunt definite. Cu un argument, lățimea de ieșire poate fi doar micșorată, nu și mărită. Indiferent dacă se utilizează variabilele de mediu sau un argument cu opțiunea „-w”, atunci când nu se află în modul Loturi de comenzi (Batch), dimensiunile reale ale terminalului nu pot fi niciodată depășite.
Notă: Fără utilizarea acestei opțiuni de linie de comandă, lățimea de ieșire se bazează întotdeauna pe terminalul la care a fost invocat top, indiferent dacă este sau nu în modul Loturi de comenzi (Batch).
Pentru informații suplimentare, consultați comenzile interactive „1” și „2”.
Fiecare dintre următoarele trei zone este controlată individual prin intermediul uneia sau mai multor comenzi interactive. A se vedea subiectul 4b. Comenzi din ZONA de REZUMAT pentru informații suplimentare referitoare la aceste dispoziții.
Această porțiune constă dintr-o singură linie care conține:
numele programului sau al ferestrei, în funcție de modul de afișare ora curentă și durata de timp de la ultima pornire (timpul de funcționare) numărul total de utilizatori încărcarea medie a sistemului în ultimele 1, 5 și 15 minute
Această porțiune constă din minim două linii. Într-un mediu SMP, liniile suplimentare pot reflecta procentele individuale ale stării CPU.
Prima linie arată numărul total de sarcini sau de fire de execuție, în funcție de starea comutatorului de mod al Firelor de execuție. Acest total este clasificat în continuare astfel:
rulând (running); adormit (sleeping); oprit (stopped); zombi
A doua linie arată procentajele de stare a CPU în funcție de intervalul de la ultima reîmprospătare.
În mod implicit, sunt afișate procentele pentru aceste categorii individuale. În funcție de versiunea nucleului dumneavoastră, este posibil ca ultimul câmp, st, să nu fie afișat.
us : timpul de execuție al proceselor de utilizator fără curtoazie (cu prioritate de execuție ridicată) sy : timpul de rulare al proceselor nucleului ni : timpul de execuție al proceselor de utilizator cu curtoazie (cu prioritate de execuție scăzută) id : timpul petrecut în gestionarea inactivității nucleului wa : timpul de așteptare pentru finalizarea intrărilor/ieșirilor hi : timpul petrecut la deservirea întreruperilor hardware si : timpul petrecut la deservirea întreruperilor software st : timpul furat de la această mașină virtuală de către hipervizor
Valoarea „sy” de mai sus reflectă, de asemenea, timpul de rulare a unui cpu virtual pentru sistemele de operare invitate, inclusiv pentru cele care au fost modificate.
Dincolo de prima linie de sarcini/fire de execuție, există moduri alternative de afișare a procesorului, disponibile prin intermediul comenzii „t” cu 4 direcții de comutare. Aceste moduri afișează un rezumat simplificat format din aceste elemente:
a b c d %Cpu(s): 75.0/25.0 100[ ... ]
Unde: a) este procentul „utilizator” (us + ni); b) este procentul „sistem” (sy + hi + si + guests); c) este procentul total; și d) este unul dintre cele două grafice vizuale ale acelor reprezentări. Astfel de grafice reflectă, de asemenea, porțiuni separate „utilizator” și „sistem”.
Dacă comanda de comutare „”' este utilizată pentru a obține mai mult de două procesoare (CPU) pe linie, rezultatele vor fi reduse și mai mult, eliminându-se elementele a) și b). Cu toate acestea, aceste informații sunt încă reflectate în graficul propriu-zis, presupunând că culoarea este activă sau, în caz contrar, că sunt afișate bare și blocuri.
A se vedea subiectul 4b. Comenzi din ZONA de REZUMAT pentru informații suplimentare privind comenzile de comutare „t” și „4”.
Această porțiune este formată din două linii care pot exprima valori de la kibiocteți (Kio) la exbiocteți (Eio), în funcție de factorul de scalare aplicat prin intermediul comenzii interactive „E”. Câmpurile sursă /proc/meminfo sunt afișate între paranteze.
Prima linie reflectă memoria fizică, clasificată ca:
total ( MemTotal ) free ( MemFree ) used ( MemTotal - MemAvailable ) buff/cache ( Buffers + Cached + SReclaimable )
A doua linie reflectă în principal memoria virtuală, clasificată ca:
total ( SwapTotal ) free ( SwapFree ) used ( SwapTotal - SwapFree ) avail ( MemAvailable, care este Memoria fizică)
Cantitatea disponibilă (avail) de pe a doua linie este o estimare a memoriei fizice disponibile pentru lansarea de noi aplicații, fără utilizarea spațiului de interschimb (swapping). Spre deosebire de câmpul „liberă”, aceasta încearcă să țină cont de zonele de prestocare (cache) ale paginilor ușor de recuperat și blocurile de memorie „slabs”. Este disponibilă pe nucleele 3.14, emulată pe nucleele 2.6.27+, altfel la fel ca „liberă”.
În modurile de afișare a memoriei alternative, sunt afișate două linii de rezumat abreviate, formate din aceste elemente:
a b c Gio Mem : 18.7/15.738 [ ... ] Gio Swap: 0.0/7.999 [ ... ]
Unde: a) este procentul utilizat; b) este totalul disponibil; și c) este unul dintre cele două grafice vizuale ale acestor reprezentări.
În cazul memoriei fizice, procentul reprezintă totalul minus cantitatea disponibilă estimată menționată mai sus. Graficul „Mem” în sine este împărțit între porțiunea de memorie utilizată care nu se află în memoria cache și orice memorie rămasă care nu este altfel luată în considerare de cantitatea de memorie disponibilă. A se vedea subiectul 4b. Comenzi din ZONA de REZUMAT și comanda „m” pentru informații suplimentare despre acea comutare specială în 4 căi.
Acest tabel poate ajuta la interpretarea valorilor scalate afișate:
Kio = kibiocteți = 1024 octeți Mio = mebiocteți = 1024 Kio = 1.048.576 octeți Gio = gibiocteți = 1024 Mio = 1.073.741.824 octeți Tio = tebiocteți = 1024 Gio = 1.099.511.627.776 octeți Pio = pebiocteți = 1024 Tio = 1.125.899.906.842.624 octeți Eio = exbiocteți = 1024 Pio = 1.152.921.504.606.846.976 octeți
Mai jos sunt enumerate câmpurile de procesare (coloanele) disponibile în top. Acestea sunt afișate în ordine alfabetică ascii strictă. Puteți personaliza poziția lor și dacă sunt sau nu afișabile cu ajutorul comenzii interactive „f” (Gestionarea câmpurilor).
Orice câmp poate fi selectat drept câmp de sortare, iar dvs. puteți controla dacă acestea sunt sortate de la mare la mic sau de la mic la mare. Pentru informații suplimentare privind dispozițiile de sortare, consultați subiectul 4c. Comenzi din ZONA de SARCINI, Sortare.
Câmpurile legate de memoria fizică sau de memoria virtuală se referă la „(Kio)”, care reprezintă modul de afișare fără sufix. Cu toate acestea, aceste câmpuri pot fi scalate de la Kio la Pio. Această scalare este influențată prin intermediul comenzii interactive „e” sau stabilită la pornire printr-o opțiune de compilare.
Într-un mediu SMP adevărat, dacă un proces are mai multe fire de execuție și top nu funcționează în modul „Fire de execuție”, pot fi raportate cantități mai mari de 100%. Puteți să activați modul „Fire de execuție” cu ajutorul comenzii interactive „H”.
De asemenea, pentru mediile cu mai multe procesoare, dacă modul Irix este dezactivat (Dezact.), top va funcționa în modul Solaris, în care utilizarea cpu a unei sarcini va fi împărțită la numărul total de procesoare. Puteți comuta modurile Irix/Solaris cu ajutorul comenzii interactive „I”.
Notă: Atunci când se execută în modul de vizualizare arborescentă („V”) cu copii colapsați („v”), acest câmp va include și timpul CPU al acelor copii nevăzuți. A se vedea subiectul 4c. Comenzi din ZONA de SARCINI, Conținut pentru mai multe informații privind comutatoarele „V” și „v”.
În cazul în care un proces afișează în prezent o utilizare ridicată a CPU, acest câmp poate ajuta la determinarea dacă acest comportament este normal. În schimb, dacă un proces are o utilizare scăzută a CPU în prezent, %CUU poate reflecta solicitări istorice mai mari de-a lungul vieții sale.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Când „/proc/sys/kernel/sched_autogroup_enabled” este activat, un nou grup automat este creat cu fiecare sesiune nouă (a se vedea SID). Toate procesele bifurcate ulterior din acea sesiune moștenesc apartenența la acest grup automat. Nucleul încearcă apoi să egalizeze distribuția ciclurilor CPU între astfel de grupuri. Astfel, un auto-grup cu multe procese intensive de CPU (de exemplu «make -j») nu va domina un auto-grup cu doar unul sau două procese.
Când se afișează -1 înseamnă că această informație nu este disponibilă.
Aceasta va fi de obicei ultima intrare din lista completă a grupurilor de control, așa cum se arată în următorul titlu (CGROUPS). La fel ca și acolo, acest câmp este de o lățime variabilă.
Grupurile de control asigură alocarea resurselor (procesor, memorie, lățime de bandă de rețea etc.) între grupurile de procese definite de instalare. Acestea permit un control fin asupra alocării, refuzării, prioritizării, gestionării și monitorizării acestor resurse.
Pe un sistem pot exista simultan mai multe ierarhii diferite de grupuri de control „cgroups”, fiecare ierarhie fiind atașată la unul sau mai multe subsisteme. Un subsistem reprezintă o singură resursă.
Notă: Câmpul „CGROUPS”, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acestuia și oricăror alte coloane cu lățime variabilă li se alocă toată lățimea rămasă pe ecran (până la maximum 512 caractere). Chiar și așa, astfel de câmpuri cu lățime variabilă pot suferi trunchieri. A se vedea subiectul 5c. Derularea unei ferestre pentru informații suplimentare privind accesarea oricăror date trunchiate.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Dacă ați ales să afișați
liniile de comandă, procesele fără o linie de
comandă (cum ar fi firele de execuție ale nucleului) vor
fi afișate doar cu numele programului între paranteze, ca
în acest exemplu:
[kthreadd]
Acest câmp poate fi influențat, de asemenea, de modul de afișare a vizualizării arborescente. Consultați comanda interactivă „V” pentru informații suplimentare privind acest mod.
Notă: Câmpul COMANDA, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acesta, precum și orice alte coloane cu lățime variabilă, vor fi alocate toate coloanele lățimea rămasă a ecranului (până la maximum 512 caractere). Chiar și așa, astfel de câmpuri cu lățime variabilă ar putea suferi trunchiere. Acest lucru se întâmplă în special adevărat pentru acest câmp atunci când sunt afișate linii de comandă (comanda interactivă „c”.) A se vedea subiectul 5c. Derularea unei ferestre pentru informații suplimentare informații suplimentare privind accesarea oricăror date trunchiate.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Valoarea va fi exprimată ca „HH,MM” (ore, minute), dar este supusă unei scalări suplimentare dacă intervalul devine prea mare pentru a se potrivi cu lățimea coloanei. În acel moment, va fi scalată la „DD+HH” (zile+ore) și, dacă este cazul, și mai departe.
Notă: Câmpul „ENVIRON”, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acestuia și oricăror alte coloane cu lățime variabilă li se va aloca toată lățimea rămasă pe ecran (până la maximum 512 caractere). Chiar și așa, astfel de câmpuri cu lățime variabilă ar putea suferi trunchiere. Acest lucru este valabil în special pentru acest câmp. A se vedea subiectul 5c. Derularea unei ferestre pentru informații suplimentare privind accesarea oricăror date trunchiate.
Notă: Câmpul EXE, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acestuia și oricăror alte coloane cu lățime variabilă li se va aloca toată lățimea rămasă pe ecran (până la maximum 512 caractere).
Notă: Această valoare afectează numai prioritatea de planificare în raport cu alte procese din același auto-grup. A se vedea câmpurile „AGID” și „AGNI” pentru informații suplimentare despre auto-grupuri.
Consultați comenzile interactive „2” și „3” pentru prevederi suplimentare NUMA care afectează Zona de Rezumat.
Această valoare poate fi, de asemenea, utilizată ca: un ID de grup de procese (a se vedea PGRP); un ID de sesiune pentru liderul sesiunii (a se vedea SID); un ID de grup de fire de execuție pentru liderul grupului de fire de execuție (a se vedea TGID); și un ID de grup de procese TTY pentru liderul grupului de procese (a se vedea TPGID).
În Linux, prioritatea în timp real este oarecum înșelătoare, deoarece, în mod tradițional, sistemul de operare în sine nu era predictibil. Și, deși nucleul 2.6 poate fi făcut în mare parte predictibil, nu este întotdeauna așa.
De exemplu, dacă un proces are 1000 de pagini rezidente singur și 1000 de pagini rezidente partajate cu un alt proces, „PSS”-ul acestuia va fi de 1500 (multiplicat cu dimensiunea paginii (1000 x 1,5)).
Accesarea valorilor smaps este de 10 ori mai costisitoare din punct de vedere computațional decât accesarea altor statistici de memorie, iar datele pentru alți utilizatori necesită privilegii „root”.
PSan — Proporția de memorie anonimă, smaps
(Kio)
PSfd — Proporția de memorie pe fișier, smaps (KiB)
PSsh — Proporția de memorie shmem, smaps (KiB)
Accesarea valorilor smaps este de 10 ori mai costisitoare din punct de vedere computațional decât accesarea altor statistici de memorie, iar datele pentru alți utilizatori necesită privilegii „root”.
Aceasta poate include pagini anonime private, pagini private alocate fișierelor (inclusiv imagini de program și biblioteci partajate) și pagini anonime partajate. Toată această memorie este susținută de fișierul „swap” reprezentat separat la secțiunea SWAP.
În cele din urmă, acest câmp poate include, de asemenea, pagini partajate susținute de fișiere care, atunci când sunt modificate, acționează ca un fișier „swap” dedicat și, prin urmare, nu vor afecta niciodată SWAP.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Accesarea valorilor smaps este de 10 ori mai costisitoare din punct de vedere computațional decât accesarea altor statistici de memorie, iar datele pentru alți utilizatori necesită privilegii „root”.
Sarcinile afișate ca rulând ar trebui să fie considerate mai degrabă ca fiind pregătite să ruleze — task_struct lor este reprezentat pur și simplu în coada de execuție Linux. Chiar și în lipsa unei mașini SMP adevărate, este posibil să vedeți numeroase sarcini în această stare, în funcție de intervalul de întârziere și de valoarea „nice” a lui top.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Valoarea va fi exprimată ca „MM:SS” (minute:secunde). Dar dacă intervalul este prea mare pentru a se potrivi cu lățimea coloanei, acesta va fi scalat ca „HH,MM” (ore, minute) și, eventual, mai departe.
Notă: Câmpul SUPGIDS, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acestuia și oricăror alte coloane cu lățime variabilă li se va aloca toată lățimea rămasă pe ecran (până la maximum 512 caractere).
Notă: Câmpul SUPGRPS, spre deosebire de majoritatea coloanelor, nu are o lățime fixă. Atunci când este afișat, acestuia și oricăror alte coloane cu lățime variabilă li se va aloca toată lățimea rămasă pe ecran (până la maximum 512 caractere).
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Accesarea valorilor smaps este de 10 ori mai costisitoare din punct de vedere computațional decât accesarea altor statistici de memorie, iar datele pentru alți utilizatori necesită privilegii „root”.
Consultați „PREZENTARE GENERALĂ, Tipuri de memorie Linux” pentru detalii suplimentare.
Sunt necesare privilegii de root pentru a afișa datele de„in/ieș” pentru alți utilizatori.
Acest câmp a fost desființat odată cu linux 2.6 și este întotdeauna zero.
După apăsarea comenzii interactive „f” (Gestionarea câmpurilor) vi se va afișa un ecran care arată: 1) numele ferestrei „actuale”; 2) câmpul de sortare desemnat; 3) toate câmpurile în ordinea lor curentă împreună cu descrierile. Intrările marcate cu un asterisc sunt câmpurile afișate în prezent, dacă lățimea ecranului o permite.
Ecranul de „Gestionarea câmpurilor” poate fi utilizat, de asemenea, pentru a schimba fereastra/grupul de câmpuri „curent”, fie în modul ecran complet, fie în modul de afișare alternativă. Ceea ce a fost vizat atunci când a fost apăsată tasta „q” sau <Esc> va fi făcut curent atunci când reveniți la afișarea top. A se vedea subiectul 5. Dispoziții privind AFIȘAREA ALTERNATIVĂ și comanda interactivă „g” pentru o perspectivă asupra ferestrelor și grupurilor de câmpuri „curente”.
Notă: Orice fereastră care a fost derulată pe orizontală va fi restabilită în cazul în care se efectuează modificări ale câmpurilor prin intermediul ecranului „Gestionarea câmpurilor”. Cu toate acestea, orice poziție derulată pe verticală nu va fi afectată. Consultați subiectul 5c. Derularea unei ferestre pentru informații suplimentare privind derularea pe verticală și orizontală.
Mai jos este listat un scurt index al comenzilor din categorii. Unele comenzi apar de mai multe ori — semnificația sau domeniul lor pot varia în funcție de contextul în care sunt emise.
4a. Comenzi GLOBALE <Enter/Spațiu> ?, =, 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. Comenzi din ZONA de REZUMAT C, l, t, m, 1, 2, 3, 4, 5, ! 4c. Comenzi din ZONA de SARCINI Aspect: b, J, j, x, y, z Conținut: c, F, f, O, o, S, U, u, V, v, ^E Dimensiune: #, i, n Sortare: <, >, f, R 4d. Paleta de CULORI <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 5b. Comenzi pentru ferestre -, _, =, +, A, a, G, g, w 5c. Derularea unei ferestre C, Sus, Jos, Stânga, Dreapta, PgUp, PgDn, Home, End 5d. Căutarea într-o fereastră L, & 5e. Filtrarea într-o fereastră O, o, ^O, =, +
Comenzile interactive globale sunt întotdeauna disponibile atât în modul ecran complet, cât și în modul de afișare alternativă. Cu toate acestea, unele dintre aceste comenzi interactive nu sunt disponibile atunci când se execută în modul „Securizat”.
Dacă doriți să știți dinainte dacă top) a fost sau nu securizat, nu aveți decât să cereți Ajutor și să vedeți rezumatul sistemului pe a doua linie.
Utilizați oricare dintre aceste taste dacă aveți un interval de întârziere mare și doriți să vedeți starea curentă,
Tastând „h” sau „?” pe acest ecran de ajutor, veți accesa ajutorul pentru acele comenzi interactive aplicabile în modul de afișare alternativă.
În plus, dacă fereastra a fost derulată, aceasta va fi restabilită cu această comandă.
Notă: Când această comutare este Activată (On) și top funcționează în modul monocrom, întregul afișaj va apărea ca text normal. Astfel, cu excepția cazului în care comenzile „x'”și/sau „y'”folosesc inversarea pentru accentuare, nu va exista nicio confirmare vizuală că acestea sunt activate.
Fracțiunile de secundă sunt recunoscute, dar nu se acceptă un număr negativ. Introducerea valorii 0 determină actualizări (aproape) continue, cu un rezultat nesatisfăcător. deoarece sistemul și controlorul terminalului (tty) încearcă să țină pasul cu cerințele emise de top. Valoarea întârzierii este invers proporțională cu încărcarea sistemului, așa că stabiliți-o cu atenție.
Dacă, în orice moment, doriți să știți care este timpul de întârziere actual, cereți pur și simplu să primiți Ajutor și vizualizați rezumatul sistemului pe a doua linie.
Dacă vedeți un „+” între un număr afișat și următoarea etichetă, înseamnă că top a fost forțat să trunchieze o parte din acel număr. Prin creșterea factorului de scalare, o astfel de trunchiere poate fi evitată.
Deși top va încerca să respecte intervalul țintă selectat, este posibil să fie necesară o scalare suplimentară pentru a se adapta la valorile actuale. În cazul în care doriți să vedeți un rezultat mai omogen în coloanele de memorie, mărirea plajei de scalare va îndeplini de obicei acest obiectiv. Creșterea prea mare a acesteia, cu toate acestea, este posibil să producă un rezultat complet zero, care nu poate fi suprimat cu comanda interactivă „0”.
Dacă nu se introduce niciun PID sau dacă se introduce un număr negativ, acesta va fi interpretat ca fiind valoarea implicită afișată în prompt (prima sarcină afișată). O valoare PID de zero înseamnă programul propriu-zis top.
Semnalul implicit, așa cum se reflectă în prompt, este SIGTERM. Cu toate acestea, puteți trimite orice semnal, prin introducerea numărului sau numelui acestuia.
Dacă doriți să întrerupeți procesul de omorâre, efectuați una dintre următoarele acțiuni, în funcție de progresul înregistrat:
1) la promptul pid, introduceți un număr invalid 2) la promptul de semnal, introduceți 0 (sau orice semnal nevalid) 3) la orice prompt, tastați <Esc>
Dacă nu se introduce niciun PID sau dacă se introduce un număr negativ, acesta va fi interpretat ca fiind valoarea implicită afișată în prompt (prima sarcină afișată). O valoare PID de zero înseamnă programul propriu-zis top.
O valoare pozitivă de curtoazie „nice” va face ca un proces să piardă prioritatea de execuție. În schimb, o valoare negativă de curtoazie „nice” va face ca un proces să fie privit mai favorabil de către nucleu. Ca regulă generală, utilizatorii obișnuiți nu pot decât să mărească valoarea de curtoazie „nice”, și nu au voie să o reducă.
Dacă doriți să întrerupeți procesul de schimbare a valorii de curtoazie „nice”, efectuați una dintre următoarele acțiuni, în funcție de progresul înregistrat:
1) la promptul pid, introduceți un număr nevalid 2) la promptul de curtoazie „nice”, tastați <Enter> fără nici o intrare 3) la orice prompt, tastați <Esc>
Această comandă interactivă poate fi utilizată pentru a modifica lățimile următoarelor câmpuri:
câmpul implicit câmpul implicit câmpul implicit GID 5 GROUP 8 WCHAN 10 LOGID 5 LXC 8 nsCGROUP 10 RUID 5 RUSER 8 nsIPC 10 SUID 5 SUSER 8 nsMNT 10 UID 5 TTY 8 nsNET 10 USER 8 nsPID 10 nsTIME 10 nsUSER 10 nsUTS 10
Vi se va solicita valoarea care urmează să fie adăugată la lățimile implicite prezentate mai sus. Dacă introduceți zero, se revine la valorile implicite.
Dacă introduceți un număr negativ, top va crește automat dimensiunea coloanei, după cum este necesar, până când nu mai există date trunchiate.
Notă: Fie că sunt mărite în mod explicit sau automat, lățimile acestor câmpuri nu sunt niciodată reduse de top. Pentru a le restrânge, trebuie să specificați un număr mai mic sau să restabiliți valorile implicite.
Notă: Această comandă interactivă este realizată pe deplin numai atunci când intrările de sprijin au fost adăugate manual la sfârșitul fișierului de configurare al top. Pentru detalii privind crearea acestor intrări, consultați subiectul 6b. Adăugarea de intrări de INSPECTARE.
Majoritatea tastelor utilizate pentru a naviga cu funcția Inspectare sunt reflectate în prologul antetului acesteia. Cu toate acestea, există taste suplimentare disponibile după ce ați selectat un anumit fișier sau o anumită comandă. Acestea sunt familiare oricui a folosit pagerul «less» o dată și sunt rezumate aici pentru referințe viitoare:
tasta funcția = linie de stare alternativă, fișier sau conductă / găsește, echivalent cu „L” pentru localizează n găsește următorul, echivalent cu „&” pentru localizează următorul <Spațiu> derulează în jos, echivalent cu <PgDn> b derulează în sus, echivalent cu <PgUp> g prima linie, echivalent cu <Home> G ultima linie, echivalent cu <End>
^G :Afișează
grupurile de control (tasta Ctrl + „g”)
^K :Afișează Linia de
comandă (tasta Ctrl + „k”)
^N :Afișează mediul
(tasta Ctrl + „n”)
^P :Afișează
spațiile de nume (tasta Ctrl + „p”)
^U :Afișează grupurile
suplimentare (tasta Ctrl + „u”)
Apăsarea aceleiași comenzi „Ctrl” a doua oară elimină fereastra separată, la fel ca și comanda „=”. Apăsarea unei alte combinații „Ctrl”, în timp ce una este deja activă, face imediat tranziția la noile informații.
Printre aceste dispoziții se numără și comanda Ctrl+N (mediu). Ieșirea acesteia poate fi extinsă și nu este ușor de citit atunci când este desfășurată pe mai multe linii. O versiune mai ușor de citit poate fi obținută cu o intrare de „Inspectare” în fișierul rc (de configurare), cum ar fi următoarea:
pipe ^I Environment ^I cat /proc/%d/environ | tr '\0' '\n'
A se vedea comanda interactivă `Y' de mai sus și subiectul 6b. Adăugarea de intrări de INSPECTARE pentru informații suplimentare.
Ca o alternativă la „Inspectare”, și disponibilă pentru toate aceste comenzi „Ctrl”, tasta Tab poate fi utilizată pentru a evidenția elemente individuale din fereastra de jos.
Dacă nu se introduce niciun PID, se va interpreta ca fiind valoarea implicită afișată în prompt (prima sarcină afișată).
O valoare AGNI pozitivă va face ca procesele din acel auto-grup să piardă prioritate. Dimpotrivă, o valoare negativă face ca acestea să fie privite mai favorabil de către nucleu. Utilizatorii obișnuiți nu au voie să stabilească valori AGNI negative.
Dacă doriți să întrerupeți procesul de modificare a valoarii de curtoazie „nice”, tastați <Esc>.
Comenzile interactive din zona de rezumat sunt întotdeauna disponibile atât în modul ecran complet, cât și în modul de afișare alternativă. Acestea afectează liniile de început ale fișierului afișajului și vor determina poziția mesajelor și a solicitărilor.
Aceste comenzi au întotdeauna un impact doar asupra ferestrei/grupului de câmpuri „curent”. A se vedea subiectul 5. Dispoziții privind AFIȘAREA ALTERNATIVĂ și comanda interactivă „g” pentru o perspectivă asupra ferestrelor și grupurilor de câmpuri „curente”.
Această parte a zonei de rezumat este, de asemenea, influențată de comanda de comutare interactivă „H”, așa cum se reflectă în eticheta totală care arată fie Tasks (Sarcini) sau Threads (Fire de execuție).
Această comandă servește ca un comutator cu patru poziții, trecând prin aceste moduri:
1. procentaje detaliate pe categorii 2. procentaj abreviat utilizator/sistem și total + grafic cu bare 3. procentaj abreviat utilizator/sistem și total + grafic cu blocuri 4. dezactivează afișarea sarcinilor și a stărilor CPU
Când operează în oricare dintre modurile grafice, afișajul devine mult mai semnificativ atunci când sunt afișate și procesoarele individuale sau nodurile NUMA. Consultați comenzile „1”, „2” și „3” de mai jos pentru informații suplimentare.
Această comandă servește ca un comutator cu patru poziții, trecând prin aceste moduri:
1. procentaje detaliate după tipul de memorie 2. procentaj utilizată/total disponibilă abreviat + grafic cu bare 3. procentaj utilizată/total disponibilă abreviat + grafic cu blocuri 4. dezactivează afișarea memoriei
Când vedeți „%Cpu(s):” în zona de rezumat, comanda de comutare „1” este activată și toate informațiile despre CPU sunt adunate pe o singură linie. În caz contrar, fiecare CPU este afișat separat ca: „%Cpu0, %Cpu1, ...” până la înălțimea disponibilă a ecranului.
În acest mod pot fi afișate maximum 8 CPU-uri pe linie. Cu toate acestea, este posibil ca datele să fie trunchiate înainte de a se ajunge la maxim. Acest lucru este cu siguranță valabil atunci când se afișează statistici detaliate prin intermediul comenzii de comutare „t”, deoarece astfel de date nu pot fi scalate la fel ca reprezentările grafice.
Dacă se dorește să se iasă rapid din modul adiacent fără a se ajunge până la 8, este suficient să se folosească comanda „1”.
În timp ce, în mod normal, fiecare CPU este afișat ca „%Cpu0, %Cpu1, ...”, această comutare poate fi utilizată pentru a identifica și/sau filtra aceste CPU-uri în funcție de tipul de nucleu, fie P-Core (performanță), fie E-Core (eficiență).
Prima dată când se apasă „5”, fiecare unitate centrală este afișată ca „%CpP” sau „%CpE”, reprezentând cele două tipuri de nuclee. A 2-a oară, vor fi afișate doar nucleele P-Core (%CpP). A 3-a oară, doar nucleele E-Core (%CpE) sunt afișate. Când această comandă de comutare este apăsată pentru a 4-a oară, afișajul CPU revine la convenția normală „%Cpu'.
În cazul în care nu există categorii separate de performanță și eficiență, această comandă nu va avea niciun efect.
De exemplu, la prima apăsare a tastei „!” se va combina o unitate de procesare suplimentară și va fi afișată ca „0-1, 2-3, ...” în loc de „%Cpu0, %Cpu1, %Cpu2, %Cpu3, ...”. Cu o a doua apăsare a comenzii de comutare „!”, patru CPU-uri sunt combinate și afișate ca „0-3, 4-7, ...”. Apoi, a treia apăsare a comenzii „!”, combină opt CPU-uri, ce se afișează ca „0-7, 8-15, ...”, etc.
Această progresie continuă până când se afișează din nou fiecare CPU și are un impact atât asupra comenzii de comutare „1”, cât și asupra comenzii de comutare „4” (una sau mai multe coloane). Utilizați comanda „=” pentru a ieși din modul de Combinare a CPU-urilor.
Notă: Dacă întreaga zonă de rezumat a fost dezactivată pentru orice fereastră, veți rămâne doar cu linia de mesaj. În acest fel, veți avea maximizate rândurile de sarcini disponibile, dar sacrificat (temporar) numele programului în modul ecran complet sau numele ferestrei „curente” atunci când se află în modul de afișare alternativă.
Comenzile interactive din Zona de Sarcini sunt întotdeauna disponibile în modul ecran complet.
Comenzile interactive din zona de sarcini nu sunt niciodată disponibile în modul de afișare alternativă dacă afișarea sarcinilor din fereastra „curentă” a fost dezactivată (a se vedea tema 5. Dispoziții privind AFIȘAREA ALTERNATIVĂ).
ASPECTUL ferestrei de sarcini
Utilizarea acestei prevederi oferă informații importante despre starea de sănătate a sistemului dumneavoastră. Singurele costuri vor fi câteva secvențe suplimentare de eludare tty.
CONȚINUTUL ferestrei de sarcini
Comutarea se aplică primului proces (cel mai de sus) din fereastra „curentă”. Odată stabilită, sarcina respectivă este întotdeauna afișată ca fiind primul proces (cel mai de sus) împreună cu copiii săi bifurcați. Toate celelalte procese vor fi suprimate.
Notă: taste precum „i” (sarcini inactive), „n” (numărul maxim de sarcini), „v” (ascunde copii) și filtrarea Utilizator/Altul rămân accesibile și pot avea un impact asupra elementelor afișate.
Consultați subiectul 5e. „Filtrarea într-o fereastră” pentru detalii despre aceste comenzi interactive și alte comenzi interactive conexe.
Când este Dezactivat (Off), programele care se bifurcă în mai multe sarcini separate vor părea mai puțin solicitante. Pentru programe precum «init» sau un shell acest lucru este adecvat, dar pentru altele, precum compilatoarele, poate că nu. Experimentați cu două ferestre de sarcini care împart același câmp de sortare, dar cu stări „S” diferite și vedeți ce reprezentare preferați.
După lansarea acestei comenzi, veți fi informat cu privire la noua stare a acestei comutări. Dacă doriți să știți în avans dacă modul cumulativ este sau nu activ, pur și simplu cereți Ajutor și vizualizați rezumatul ferestrei pe a doua linie.
Ulterior, în fereastra de sarcini se vor afișa numai utilizatorii corespunzători sau, eventual, nu se va afișa niciun proces. Precedarea cu un semn de exclamare („!”) a ID-ului sau a numelui utilizatorului îi indică lui top să afișeze numai procesele cu utilizatori care nu se potrivesc cu cel furnizat.
Diferite ferestre de sarcini pot fi utilizate pentru a filtra diferiți utilizatori. Ulterior, dacă doriți să monitorizați din nou toți utilizatorii în fereastra „curentă”, reluați această comandă, dar apăsați doar tasta <Enter> la prompt.
Notă: Apăsarea oricărei taste care afectează ordinea de sortare vă va scoate din modul de vizualizare arborescentă în fereastra „curentă”. A se vedea subiectul 4c. Comenzi din ZONA de SARCINI, Sortare pentru informații despre aceste taste.
Comutarea se aplică primului proces (cel mai de sus) din fereastra „curentă”. A se vedea subiectul 5c. Derularea unei ferestre pentru informații suplimentare referitoare la derularea verticală.
În cazul în care procesul țintă nu a bifurcat niciun copil, această cheie nu are niciun efect. De asemenea, nu are niciun efect atunci când nu se află în modul de vizualizare arborescentă.
De exemplu, dacă este afișat „MMM:SS.hh”, fiecare apăsare de tastă ^E îl va schimba în: „MM:SS”, „Ore,MM”, „Zile+ore” și, în final, „Săptămâni+zile”.
Nu toate câmpurile de timp sunt supuse la o gamă completă de astfel de scalări.
DIMENSIUNEA ferestrei de sarcini
Dacă această comandă este aplicată la ultima afișare a sarcinii atunci când se află în modul de afișare alternativă, atunci nu va afecta dimensiunea ferestrei, deoarece toate afișările anterioare ale sarcinii vor fi fost deja desenate.
Atunci când este utilizată în modul de afișare alternativă, aceasta este comanda care vă oferă un control precis asupra mărimii fiecărei afișări de sarcini vizibile în prezent, cu excepția ultimei. Aceasta nu va afecta dimensiunea ultimei ferestre, deoarece toate afișajele anterioare au fost deja desenate.
Notă: Dacă doriți să măriți dimensiunea ultimului afișaj de sarcini vizibil atunci când vă aflați în modul de afișare alternativă, reduceți pur și simplu dimensiunea afișajului (afișajelor) de sarcini de deasupra acestuia.
Sortarea ferestrei de sarcini
comanda câmpul sortat acceptată A ora-pornirii (neafișată) Nu M %MEM Da N PID Da P %CPU Da T TIME+ Da
Înainte de a utiliza oricare dintre următoarele metode de sortare, top vă sugerează să activați temporar evidențierea coloanelor cu ajutorul comenzii interactive „x”. Acest lucru va ajuta la asigurarea că mediul real de sortare corespunde intenției dumneavoastră.
Următoarele comenzi interactive vor fi executate numai
atunci când câmpul de sortare curent este vizibil.
Este posibil ca acest câmp de sortare să nu fie vizibil
deoarece:
1) lățimea ecranului este insuficientă
2) comanda interactivă „f” l-a Dezact. (Off)
Următoarele comenzi interactive vor fi întotdeauna executate indiferent dacă este sau nu vizibil câmpul de sortare curent.
Când lansați comanda interactivă „Z”, vi se va afișa un ecran separat. Acest ecran poate fi folosit pentru a schimba culorile doar în fereastra „actuală” sau în toate cele patru ferestre înainte de a reveni la afișajul de top.
Sunt disponibile următoarele comenzi interactive:
4 majuscule pentru a selecta o țintă 8 numere pentru a selecta o culoare comenzi de comutare disponibile: B :activează/dezactivează afișarea în „aldin” b :afișează în „aldin”/invers sarcinile ce rulează z :afișare în culori/monocromatică alte comenzi disponibile: a/w :aplică, apoi va trece la următorul/precedentul <Enter> :aplică și iese q :abandonează schimbările făcute și iese
Dacă utilizați „a” sau „w” pentru a parcurge fereastra vizată, veți găsii aplicată schema de culori care a fost afișată când ați părăsit fereastra respectivă. Desigur, puteți reveni cu ușurință la orice fereastră și să aplicați din nou culori diferite sau să dezactivați complet culorile cu ajutorul comenzii „z”.
Ecranul „Paleta de culori” poate fi utilizat, de asemenea, pentru a schimba grupul de ferestre/câmpuri „curente”, fie în modul ecran complet, fie în modul de afișare alternativă. Ceea ce a fost vizat atunci când s-a apăsat tasta „q” sau <Enter>, va deveni curent atunci când reveniți la afișajul top.
În modul de afișare alternativă, cele 4 grupuri de câmpuri subiacente pot fi acum vizibile simultan sau pot fi Dezactivate (Off) individual, la alegerea dumneavoastră.
Zona de rezumat va exista întotdeauna, chiar dacă este vorba doar de linia de mesaje. La un moment dat, poate fi afișată o singură zonă de rezumat. Cu toate acestea, în funcție de comenzile dumneavoastră, pe ecran pot exista de la zero până la patru afișaje separate ale sarcinilor afișate în prezent.
O altă complicație apare atunci când ați Dezact. (Off) prima linie din Zona de Rezumat. Odată cu pierderea numelui ferestrei (linia comutată de comanda „l”), nu veți ști cu ușurință ce fereastră este fereastra „curentă”.
Tasta „_” face același lucru pentru toate afișările de sarcini. Cu alte cuvinte, aceasta comută între afișajul (afișajele) de sarcini vizibil(e) în acel moment și orice afișaje de sarcini pe care le-ați Dezact. (Off). În cazul în care toate cele 4 afișaje de sarcini sunt vizibile în prezent, această comandă interactivă va lăsa Zona de Rezumat ca unic element de afișare.
Tasta „+” face același lucru pentru toate ferestrele. Cele patru afișaje de sarcini vor reapărea, echilibrate în mod egal, păstrând în același timp toate personalizările aplicate anterior, în afară de cele mențioate pentru comanda de comutare „=”.
Prima dată când lansați această comandă, vor fi afișate toate cele patru afișaje de sarcini. Ulterior, atunci când schimbați modurile, veți vedea numai afișajul (afișajele) de sarcini pe care ați ales să le faceți vizibile.
Presupunând că numele ferestrei este vizibil (nu ați comutat `l' în modul Dezact. (Off)), ori de câte ori numele ferestrei „curente” își pierde tonalitatea/culoarea, acesta este un memento că afișajul sarcinii este Dezact. (Off) și multe comenzi vor fi restricționate.
=, A, g sunt întotdeauna disponibile a, w acționează la fel cu Paleta de culoril și Gestionarea câmpurilor
În modul ecran complet, această comandă este necesară pentru a modifica fereastra „curentă”. În modul de afișare alternativă, este pur și simplu o alternativă mai puțin convenabilă la comenzile „a” și „w”.
În mod obișnuit, o fereastră de sarcini este o vizualizare parțială a tuturor sarcinilor/filelor unui sistem, care afișează doar o parte din câmpurile/coloanele disponibile. Cu ajutorul acestor taste de defilare, puteți deplasa această vizualizare pe verticală sau pe orizontală pentru a dezvălui orice sarcină sau coloană dorită.
Notă: Ca reamintire, unele câmpuri/coloane nu au lățime fixă, ci au alocată toată lățimea rămasă a ecranului atunci când sunt vizibile. Când derulați la dreapta sau la stânga, această funcție poate produce inițial rezultate neașteptate.
În plus, există dispoziții speciale pentru orice câmp cu lățime variabilă atunci când este poziționat ca ultimul câmp afișat. Odată ce câmpul respectiv este atins prin intermediul tastei săgeată dreapta, și este astfel singura coloană afișată, puteți continua să derulați pe orizontală în cadrul unui astfel de câmp. Pentru informații suplimentare, consultați comanda interactivă „C” de mai jos.
Notă: Din această poziție este încă posibilă derularea în jos și la dreapta cu ajutorul tastelor săgeată. Acest lucru este valabil până când o singură coloană și o singură sarcină rămân ca singurele element de afișare.
coordonate derulare: y = n/n (sarcini), x = n/n (câmpuri) coordonate derulare: y = n/n (sarcini), x = n/n (câmpuri) + nn
Coordonatele afișate ca n/n sunt relative la colțul din stânga sus al ferestrei „curente”. Cifra suplimentară „+ nn” reprezintă deplasarea într-o coloană cu lățime variabilă atunci când aceasta a fost derulată pe orizontală. O astfel de deplasare are loc în cantități normale de 8 caractere de tabulare prin intermediul tastelor săgeată dreapta și stânga.
Comenzile interactive de mai sus sunt întotdeauna disponibile în modul ecran complet, dar nu sunt niciodată disponibile în modul de afișare alternativă dacă afișarea sarcinilor din fereastra „curentă” a fost Dezactivată (Off).
Notă: Când orice formă de filtrare este activă, vă puteți aștepta la unele ușoare aberații la defilare, deoarece nu toate sarcinile vor fi vizibile. Acest lucru este evident mai ales atunci când utilizați tastele săgeți Sus/Jos.
Puteți utiliza aceste comenzi interactive pentru a localiza un rând de sarcini care conține o anumită valoare.
Căutările nu se limitează la valorile dintr-un singur câmp sau dintr-o singură coloană. Toate valorile afișate într-un rând de sarcini sunt permise într-un șir de căutare. Puteți include spații, numere, simboluri și chiar grafice de vizualizare arborescentă.
Apăsarea tastei <Enter> fără a introduce date va dezactiva efectiv tasta „&” până când se introduce un nou șir de căutare.
Atunci când se găsește o potrivire, fereastra curentă este repoziționată pe verticală astfel încât rândul de sarcini care conține șirul respectiv să fie primul. Mesajul coordonatelor de derulare poate oferi o confirmare a acestei repoziționări verticale (a se vedea comanda interactivă „C”). Cu toate acestea, derularea orizontală nu este niciodată modificată prin intermediul căutării.
Disponibilitatea unui șir care să corespundă va fi influențată de următorii factori.
În cazul în care o căutare eșuează, restabilirea poziției inițiale a ferestrei „curente” (nederulată), derularea pe orizontală, afișarea liniilor de comandă sau alegerea unui câmp de sortare mai stabil ar putea duce totuși la o căutare „&” reușită.
Comenzile interactive de mai sus sunt întotdeauna disponibile în modul ecran complet, dar nu sunt niciodată disponibile în modul de afișare alternativă dacă afișarea sarcinilor din fereastra „curentă” a fost Dezactivată (Off).
Puteți utiliza această caracteristică „Alt filtru” pentru a stabili criterii de selecție care vor determina apoi ce sarcini sunt afișate în fereastra „curentă”. Astfel de filtre pot fi făcute persistente dacă sunt păstrate în fișierul de configurare prin intermediul comenzii interactive „W”.
Stabilirea unui filtru necesită: 1) un nume de câmp; 2) un operator; și 3) o valoare de selecție, cel puțin. Aceasta este cea mai complexă dintre cerințele de introducere a datelor de către utilizator din top, astfel încât, atunci când faceți o greșeală, reapelarea comenzilor vă va fi prietenă. Amintiți-vă tastele săgeată Sus/Jos sau aliasurile lor atunci când vi se cere să introduceți date.
Noțiuni de bază despre filtre
Dacă un câmp nu este activat sau nu este vizualizat în prezent, atunci criteriile de selecție nu vor afecta afișarea. Ulterior, dacă un câmp filtrat devine vizibil, criteriile de selecție vor fi aplicate.
Rezumat al comenzilor de la tastatură
Cerințe de introducere
Atunci când vi se solicită criteriile de selecție, datele pe care le furnizați trebuie să ia una dintre cele două forme. Există trei informații obligatorii, iar a patra este opțională. Aceste exemple folosesc spații pentru claritate, dar, în general, datele pe care le introduceți dumneavoastră nu ar trebui să le folosească.
nr.1 nr.2 nr.3 ( necesare ) Nume câmp ? include-dacă-valoare ! Nume câmp ? exclude-dacă-valoare nr.4 ( opționale )
Elementele nr.1, nr.3 și nr.4 ar trebui să fie auto-explicative Elementul nr2 reprezintă atât un delimitator necesar, cât și operator, care trebuie să fie unul dintre egalitatea („=”) sau relația („<” sau „>”).
Operatorul de egalitate „=” necesită doar o potrivire parțială, ceea ce poate reduce cerințele de introducere a datelor „dacă-valoare”. Operatorii relaționali „>” sau „<” utilizează întotdeauna comparații de șiruri de caractere, chiar și în cazul câmpurilor numerice. Aceștia sunt concepuți pentru a funcționa cu justificarea implicită a unui câmp și cu date omogene. Atunci când unele valori numerice ale unor câmpuri au fost supuse scalării în timp ce altele nu, datele respective nu mai sunt omogene.
Dacă stabiliți un filtru relațional și ați modificat justificarea implicită numerică sau de caractere, este posibil ca acel filtru să eșueze. Atunci când un filtru relațional este aplicat unui câmp de memorie și nu ați modificat scalarea, acesta poate produce rezultate înșelătoare. Acest lucru se întâmplă, de exemplu, pentru că „100.0m” (Mio) ar părea mai mare decât „1.000g” (Gio) atunci când sunt comparate ca șiruri de caractere.
În cazul în care rezultatele filtrate par suspecte, simpla modificare a justificării sau a scalării poate atinge obiectivul dorit. Pentru informații suplimentare, consultați comenzile interactive „j”, „J” și „e”.
Probleme potențiale
Aceste filtre GROUP ar putea produce exact aceleași rezultate sau cel de-al doilea ar putea să nu afișeze nimic, ci doar o fereastră de sarcini goală.
GROUP=root ( aceleași rezultate doar atunci când ) GROUP=ROOT ( este invocat prin intermediul minusculelor „o” )
Oricare dintre aceste filtre RES ar putea produce rezultate incoerente și/sau înșelătoare, în funcție de factorul de scalare a memoriei curente. Sau ambele filtre ar putea produce exact aceleași rezultate.
RES>9999 ( aceleași rezultate doar atunci când ) !RES<10000 ( scalarea memoriei este fixată la „KiB” )
Acest filtru nMin ilustrează o problemă unică pentru câmpurile scalabile. Acest câmp special poate afișa maximum 4 cifre, dincolo de care valorile sunt scalate automat la KiB sau mai mult. Astfel, deși există cantități mai mari de 9999, acestea vor apărea ca 2,6m, 197k, etc.
nMin>9999 ( întotdeauna o fereastră de sarcini goală )
Soluții potențiale
Aceste exemple ilustrează modul în care Alte filtre pot fi aplicate în mod creativ pentru a obține aproape orice rezultat dorit. Ghilimelele simple sunt uneori afișate pentru a delimita spațiile care fac parte dintr-un filtru sau pentru a reprezenta cu exactitate o cerere de stare (^O). Dar dacă le-ați folosi cu „dacă-valori” (valori condiționale), nu s-ar găsi nicio potrivire.
Presupunând că este afișat câmpul nTH (câmpul antet, de titlu), primul filtru va avea ca rezultat afișarea numai a proceselor cu mai multe fire de execuție. De asemenea, ne reamintește că un spațiu de sfârșit face parte din fiecare fișier câmp afișat. Cel de-al doilea filtru obține exact aceleași rezultate cu mai puțină tastare.
!nTH=„ 1 ” ( „” doar pentru claritate ) nTH>1 ( același lucru mai direct (mai pe scurt) )
Cu modul Vizualizare arborescentă activ și cu coloana COMANDA la vedere, acest filtru reduce efectiv procesele copil astfel încât sunt afișate doar 3 niveluri.
!COMMAND=„ „- ” ( „” doar pentru claritate )
Ultimele două filtre apar ca răspuns la tasta de solicitare a stării (^O). În realitate, fiecare filtru ar fi necesitat o intrare separată. Exemplul PR prezintă cele două filtre simultane necesare pentru a afișa sarcinile cu priorități de 20 sau mai mult, deoarece unele ar putea fi negative. Apoi, prin exploatarea spațiilor de urmărire, seria de filtre nMin ar putea atinge obiectivul eșuat „9999” discutat mai sus.
`PR>20' + `!PR=-' ( 2 pentru un rezultat corect ) `!nMin=0 ' + `!nMin=1 ' + `!nMin=2 ' + `!nMin=3 ' ...
Acest fișier este creat sau actualizat prin intermediul comenzii interactive „W”.
Versiunea veche este scrisă ca „$HOME/.numele-dvs.-pentru-top” + „rc” cu un punct înainte.
Un fișier de configurare nou creat este scris ca procps/numele-dvs.-pentru-top” + „rc” fără un punct înainte. Directorul procps va fi subordonat fie lui $XDG_CONFIG_HOME atunci când este stabilită ca o cale absolută, fie directorului $HOME/.config.
Deși nu a fost conceput pentru a fi editat manual, iată prezentarea generală a fișierului de configurare:
global # linia 1: numele programului/notația „alias” a numelui -"- # linia 2: id,altscr,irixps,delay,curwin per ea # linia a: winname,fieldscur fereastra # linia b: winflags,sortindx,maxtasks,etc -"- # linia c: summclr,msgsclr,headclr,taskclr global # linia 15: configurări diverse suplimentare -"- # toate liniile rămase sunt dedicate „altor filtre” -"- # active opționale, discutate în secțiunea 5e de mai sus, -"- # plus intrările „inspect” discutate în secțiunea 6b de mai jos.
În cazul în care nu se poate stabili o cale absolută validă către fișierul fișierul de configurare „rc”, personalizările făcute la un top în execuție vor fi imposibil de păstrat.
Pentru a exploata comanda interactivă „Y”, trebuie să adăugați intrări la sfârșitul fișierului de configurare personal al top. Aceste intrări reflectă pur și simplu un fișier care trebuie citit sau o „comandă”/„linie de comenzi în cascadă” care urmează să fie executată, ale cărei rezultate vor fi apoi afișate într-o fereastră separată care poate fi derulată și căutată.
Dacă nu cunoașteți locația sau numele fișierului dvs. configurare al top, utilizați comanda interactivă „W” pentru a-l rescrie și notați aceste detalii.
Intrările de inspectare pot fi adăugate cu ajutorul unui ecou redirecționat sau prin editarea fișierului de configurare. Redirecționarea unui ecou riscă să suprascrie fișierul configurare în cazul în care înlocuiește (>) în loc să adauge (>>) la fișierul respectiv. În schimb, atunci când se utilizează un editor, trebuie să se aibă grijă să nu se corupă liniile existente, unele dintre acestea putând conține date neimprimabile sau caractere neobișnuite, în funcție de versiunea de top sub care a fost salvat fișierul de configurare respectiv.
Acele intrări Inspect (de inspectare) care încep cu caracterul „#” sunt ignorate, indiferent de conținut. În caz contrar, acestea sunt formate din următoarele 3 elemente, fiecare dintre ele trebuind să fie separat de un caracter de tabulare (deci 2 „\t” în total):
.type: fie „file” (fișier), fie „pipe” (conductă) .name: selecția afișată pe ecranul de Inspectare .fmts: șir reprezentând o rută sau o comandă
Cele două tipuri de intrări de Inspectare nu sunt interschimbabile. Cele desemnate „file” vor fi accesate utilizând fopen() și trebuie să facă referire la un singur fișier în elementul „.fmts”. Intrările care specifică „pipe” vor folosi popen(), elementul lor „.fmts” poate conține mai multe comenzi în linie și niciuna nu poate fi interactivă.
În cazul în care fișierul sau linia de comenzi în cascadă (pipeline) reprezentată în elementul „.fmts” se referă la un PID specific introdus sau acceptat atunci când vi se solicită, atunci șirul de format trebuie să conțină, de asemenea, specificatorul „%d”, după cum ilustrează aceste exemple.
.fmts= /proc/%d/numa_maps .fmts= lsof -P -p %d
Doar pentru intrările de tip „pipe”, ați putea dori, de asemenea, să redirecționați ieșirea de eroare standard către ieșirea standard pentru un rezultat mai cuprinzător. Astfel șirul de format devine:
.fmts= pmap -x %d 2>&1
Iată exemple de ambele tipuri de intrări Inspect așa cum ar putea apărea în fișierul de configurare. Prima intrare va fi ignorată din cauza caracterului inițial „#”. Pentru mai multă claritate, pseudo-tabulatoarele (^I) sunt înconjurate de un spațiu suplimentar, dar tabulatoarele reale nu ar trebui să fie.
# pipe ^I Socluri ^I lsof -n -P -i 2>&1 pipe ^I Fișiere deschise ^I lsof -P -p %d 2>&1 file ^I Informații NUMA ^I /proc/%d/numa_maps pipe ^I Jurnal ^I tail -n100 /var/log/syslog | sort -Mr
Cu excepția intrării comentate de mai sus, următoarele exemple arată ce ar putea fi transmis pentru a obține rezultate similare, presupunând că numele fișierului de configurare este „.toprc”. Cu toate acestea, din cauza caracterelor de tabulare încorporate, fiecare dintre aceste linii ar trebui să fie precedată de „/bin/echo -e”, nu doar de un simplu „echo”, pentru a permite interpretarea barelor oblice inverse indiferent de shell-ul utilizat.
"pipe\tFișiere deschise\tlsof -P -p %d 2>&1" >> ~/.toprc "file\tInformații NUMA\t/proc/%d/numa_maps" >> ~/.toprc "pipe\tJurnal\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc
În cazul în care orice intrare de inspectare pe care o creați produce o ieșire cu caractere neimprimabile, acestea vor fi afișate fie în notația ^C, fie în formatul hexazecimal <FF>, în funcție de valoarea lor. Acest lucru este valabil și pentru caracterele de tabulare, care vor fi afișate sub forma „^I”. Dacă doriți o reprezentare mai veridică, orice tabulație încorporată trebuie dezvoltată. Exemplul următor ia ceea ce ar fi putut fi o intrare „file”, dar folosește în schimb o „pipe” pentru a extinde tabulatoarele încorporate.
# următorul ar fi conținut „\t” ... # file ^I <numele_dvs.> ^I /proc/%d/status # dar acest lucru ar elimina „\t” încorporat ... pipe ^I <numele_dvs.> ^I cat /proc/%d/status | expand -
Notă: Unele programe se pot baza pe SIGINT pentru a se încheia. Prin urmare, dacă se stabilește o „pipe” precum cea de mai jos, trebuie să se utilizeze Ctrl-C pentru a-o încheia pentru a se putea revizui rezultatele. Aceasta este singura ocazie în care un „^C” nu va încheia de asemenea și top.
pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1
În sfârșit, în timp ce intrările de tip „pipe” au fost discutate în termeni de conducte și comenzi, nimic nu vă împiedică să includeți și scripturi shell. Poate chiar scripturi nou create, concepute special pentru comanda interactivă „Y”.
De exemplu, pe măsură ce numărul de intrări Inspect crește în timp, rândul „Opțiuni:” va fi trunchiat atunci când lățimea ecranului este depășită. Acest lucru nu afectează funcționarea decât pentru a face unele selecții invizibile. Cu toate acestea, dacă unele alegeri sunt pierdute din cauza trunchierii, dar doriți să vedeți mai multe opțiuni, există o soluție simplă sugerată mai jos.
Pauză de inspectare la pid ... Utilizați: tastele săgeți stânga/dreapta apoi <Enter> ... Opțiuni: help 1 2 3 4 5 6 7 8 9 10 11 ...
Intrările din fișierul de configurare al top vor avea un număr pentru elementul „.name”, iar intrarea „help” va identifica un script shell pe care l-ați scris pentru a explica ce înseamnă de fapt aceste selecții numerotate. În acest fel, pot fi făcute vizibile mult mai multe alegeri.
Acest fișier de configurare reprezintă valorile implicite pentru utilizatorii care nu și-au salvat propriul fișier de configurare. Formatul oglindește exact fișierul de configurare personal și poate, de asemenea, să includă intrări „de inspectare”, așa cum s-a explicat mai sus.
Crearea acestuia este un proces simplu.
1. Configurați top în mod corespunzător pentru instalarea dvs. și salvați acea configurație cu comanda interactivă „W”.
2. Adăugați și testați toate intrările de „inspectare” dorite.
3. Copiați acest fișier de configurare în directorul /etc/ ca „topdefaultrc”.
Prezența acestui fișier va influența ce versiune a ecranului de ajutor este afișată unui utilizator obișnuit.
Cel mai important, va limita ceea ce utilizatorii obișnuiți au voie să facă atunci când top este în funcțiune. Aceștia nu vor putea emite următoarele comenzi:
k Omorârea unei sarcini r Redefinirea valorii de curtoazie (nice) a unei sarcini d sau s Modificarea intervalului de întârziere/dormire
Acest fișier de configurare nu este creat de top. Mai degrabă, este creat manual și plasat în directorul „/etc/” sub numele de „toprc”.
Acesta trebuie să aibă exact două linii, așa cum se arată în acest exemplu:
s # linia 1: comutator de mod securizat 5.0 # linia 2: intervalul de întârziere în secunde
Valoarea stabilită pentru următoarea variabilă este neimportantă, doar prezența acesteia.
Multe dintre aceste trucuri funcționează cel mai bine atunci când îi dați lui top) un impuls de planificare. Așa că plănuiește să-l lansezi cu o valoare de curtoazie (nice) de „-10”, presupunând că ai autoritatea necesară.
Pentru aceste trucuri stupide, top are nevoie de modul ecran complet.
Pentru acest experiment, sub x-windows deschideți un terminal «xterm» și maximizați-l. Apoi faceți următoarele:
. stabiliți o creștere a priorității și o mică întârziere prin: nice -n -10 top -d.09 . păstrați evidențierea coloanelor sortate Dezactivat pentru a minimiza lungimea căii . activați evidențierea rândului invers pentru accentuare . încercați diferite coloane de sortare (TIME/MEM funcționează bine) și sortarea normală sau inversă pentru a aduce cele mai active procese la vedere
Ceea ce veți vedea este un Linux foarte ocupat făcând ceea ce a făcut întotdeauna pentru dvs., dar nu a existat niciun program disponibil pentru a ilustra acest lucru.
După ce ați adus la vedere cele mai active procese, ceea ce veți vedea sunt imaginile fantomatice ale sarcinilor în curs de desfășurare.
Afișajul dvs. va fi reîmprospătat cu o rată de trei ori mai mare decât cea din fostul top, un avantaj de viteză de 300%. Pe măsură ce top urcă pe scara TIMPULUI, fiți cât de răbdător puteți în timp ce speculați dacă top va ajunge vreodată în top.
Pentru aceste trucuri stupide, top are nevoie de un mod de afișare alternativ.
Acest truc stupid necesită, de asemenea, modul de afișare alternativ.
Când toate au fost deplasate, comutați
între toate ferestrele vizibile/invizibile folosind comutatorul
de comandă „_”. Atunci
gândiți-vă la asta:
top inventează rezultate sau spune cu sinceritate adevărul
impus?
Acest truc stupid funcționează cel mai bine fără modul de afișare alternativă, deoarece justificarea este activă pentru fiecare fereastră.
Apoi utilizați tastele săgeți sus/jos pentru a poziționa afișarea astfel încât să fie afișate niște linii de comandă trunchiate („+” în ultima poziție). Poate fi necesar să redimensionați „xterm” pentru a produce trunchierea.
În cele din urmă, utilizați comanda de comutare „j” pentru a face coloana COMANDA justificată la dreapta.
Acum folosiți tasta săgeată dreapta pentru a ajunge la coloana COMANDA. Continuând cu tasta săgeată dreapta, urmăriți cu atenție direcția de mers pentru liniile de comandă afișate.
unele linii se deplasează spre stânga, în timp ce
altele se deplasează spre dreapta
în cele din urmă, toate liniile se vor schimba și se
vor muta la dreapta
Trimiteți rapoartele de eroare la procps@freelists.org.
free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)
august 2023 | procps-ng |