Kuinka tallentaa yläkomennon tulos tiedostoon


Järjestelmänvalvojat käyttävät paljon Linux top -komentoa näyttääkseen järjestelmätilastoja reaaliajassa koskien järjestelmän käytettävyyttä ja kuormituksen keskiarvoa, käytettyä muistia, käynnissä olevat tehtävät, yhteenveto prosesseista tai säikeistä ja yksityiskohtaiset tiedot kustakin käynnissä olevasta prosessista.

Käynnissä olevan järjestelmän reaaliaikaisen katselun lisäksi top-komennon tuloste voidaan kuitenkin tallentaa tiedostoon käyttämällä lippua -b, joka käskee topin toimimaan erätilassa ja -n . -lippu, joka määrittää komennon tuottaman iteroinnin määrän.

Alla olevassa esimerkissä ohjaamme top-komennon tulosteen top.txt-tiedostoon nykyisessä työhakemistossa. -n-argumenttia käytetään lähettämään vain yksi tilannekuva komennosta mainittuun tiedostoon.

top -b -n 1 > top.txt

Voit lukea tuloksena olevan tiedoston käyttämällä komentorivin tiedostonlukuohjelmaa, kuten cat-komentoa, vähemmän tai enemmän.

less top.txt

Saadaksesi viisi iteraatiota top-komennosta, suorita komento alla olevan otteen mukaisesti.

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

Jos haluat näyttää vain suoritettavien tehtävien määrän tuloksena olevasta tiedostosta, käytä grep-suodatinta alla olevan komentoesimerkin mukaisesti.

cat top-5iterations.txt | grep Tasks

Jos haluat ottaa tilannekuvan tietystä prosessista top apuohjelmassa, suorita komento PID (-p)-lipulla. Saadaksesi käynnissä olevan prosessin PID-tunnuksen, anna pidof-komento käynnissä olevan prosessin nimeä vastaan.

Tässä esimerkissä seuraamme cron-prosessia top-komennolla ottamalla kolme tilannekuvaa PID:stä.

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

Käyttämällä for iteraatiosilmukkaa voimme näyttää prosessitilastot sen PID:n kautta, joka toinen sekunti, kuten alla olevassa esimerkissä näkyy. Silmukan tulos voidaan myös ohjata tiedostoon. Käytämme samaa cron PID:tä kuin yllä olevassa esimerkissä.

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

Ohjaa silmukan tulos tiedostoon.

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

Nämä ovat vain muutamia esimerkkejä siitä, kuinka voit seurata ja kerätä järjestelmä- ja käsittelytilastoja top-komennolla.