Kaip išsaugoti viršutinės komandos išvestį į failą


„Linux top“ komandą dažnai naudoja sistemos administratoriai, kad realiuoju laiku būtų rodoma sistemos statistika apie sistemos veikimo laiką ir vidutinį apkrovą, naudojamą atmintį, vykdomos užduotys, procesų arba gijų santrauka ir išsami informacija apie kiekvieną vykdomą procesą.

Tačiau, be veikiančios sistemos peržiūros realiuoju laiku, viršutinės komandos išvestis gali būti įrašyta į failą, naudojant vėliavėlę -b, kuri nurodo viršuje veikti paketiniu režimu ir -n vėliavėlę, kad nurodytumėte, kiek iteracijos komanda turi išvesti.

Toliau pateiktame pavyzdyje nukreipsime komandos viršuje išvestį į top.txt failą dabartiniame darbo kataloge. Argumentas -n bus naudojamas nusiųsti tik vieną komandos momentinį vaizdą į minėtą failą.

top -b -n 1 > top.txt

Norėdami perskaityti gautą failą, naudokite komandinės eilutės failų skaitymo priemonę, pvz., Cat komandą, mažiau ar daugiau.

less top.txt

Norėdami paimti penkias viršutinės komandos iteracijas, vykdykite komandą, kaip parodyta toliau pateiktoje ištraukoje.

top -b -n 5 > top-5iterations.txt

Jei norite, kad gautame faile būtų rodomas tik vykdomų užduočių skaičius, naudokite grep filtrą, kaip parodyta toliau pateiktame komandos pavyzdyje.

cat top-5iterations.txt | grep Tasks

Norėdami padaryti konkretaus proceso momentinę nuotrauką naudodami pagrindinę priemonę, vykdykite komandą su žyma PID (-p). Norėdami gauti vykdomo proceso PID, išveskite pidof komandą prieš vykdomo proceso pavadinimą.

Šiame pavyzdyje stebėsime cron procesą naudodami komandą viršuje, darydami tris momentines PID nuotraukas.

pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

Naudodami for iteracijos ciklą, galime rodyti proceso statistiką per jo PID kas dvi sekundes, kaip parodyta toliau pateiktame pavyzdyje. Ciklo išvestis taip pat gali būti nukreipta į failą. Naudosime tą patį cron PID, kaip parodyta aukščiau pateiktame pavyzdyje.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Peradresuoti kilpos išvestį į failą.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

Tai tik keli pavyzdžiai, kaip galite stebėti ir rinkti sistemą bei apdoroti statistiką naudodami komandą viršuje.