Upoznajte CLI program top

Evo još jednog od zgodnih članaka s našeg Wikija. Ponekad nam zatreba na brzinu pogledati zauzeće sustava ili na brzinu ubiti program koji se zablokirao. Da ne palimo System monitor koji sam po sebi zauzima dosta resursa i spor je za poluditi to možemo uraditi u Terminalu za pola sekunde. Samo ukucamo “top” i eto svih procesa i podataka o zauzeću resursa! Ne može biti lakše!

Ali naravno, morate se upoznati sa sučeljem i radnjama koje su moguće u ovom programu. Pa krenimo!

Top je CLI alat za praćenje aktivnih procesa (System monitor). Program daje dosta informacija o sistemskim resursima računala.

 

Tako to izgleda u Terminalu

Polja koja se ispisuju

U startu, top ispisuje ova polja:

  • PID : Identifikacijski broj procesa
  • USER : Identifikacijski broj korisnika (efektivni)
  • PR : Prioritet
  • NI : Nice vrijednost
  • VIRT : Virtualna veličina procesa.
  • RES : Zauzeće RAM-a
  • SHR : Dijeljeni RAM
  • S : Status
  • %CPU : Zauzeće procesora u postotcima
  • %MEM : Zauzeće RAM-a u postotcima
  • TIME+ : Vrijeme u kojem je proces koristio CPU
  • COMMAND: Ime programa

Dodatna polja možete dobiti kada pritisnete tipku “f” u interaktivnom načinu rada. Dobiti ćete popis mogućih polja.

Uključujete ih i isključujete pritiskom na prikazano slovo ispred polja. (Prikazati će se ona polja koja imaju * ispred )

Interaktivni i batch način rada

Moguće ga je koristiti u interaktivnom, ili u batch načinu.

Uobičajeno se pokreće u interaktivnom načinu. Program neprekidno ispisuje nove podatke i moguća je interakcija pritiskom tipki tipkovnice.

Međutim, ponekad ćete trebati podatke obraditi drugim programom. Zato koristite batch način rada.

$ top -b

Pomoću -n odredite broj ciklusa u batch načinu rada. Npr:

$ top -b -n 1

Pokreće jedan ciklus i program se zaustavlja.

Praćenje samo pojednih procesa

Ponekad nas zanimaju samo određeni procesi.

Npr. zanimaju nas samo procesi Firefox i compiz.real. Ukucajte njihove PID brojeve (vidi na slici) na ovaj način:

$ top -p 14829,15598

Može i:

$ top -p 14829 -p 15598

Praćenje po korisniku

Možete pratiti i procese koji pripadaju određenom korisniku. Možete koristiti ime korisnika ili njegov UID.

$ top -u branko

ili

$ top -u 500

Može i:

$ top -U branko

U, ili u možete koristiti i u interaktivnom modu. Jednostavno pritisak tipke u i unosa korisnika program nastavlja praćenje po tom korisniku.

Brzina ciklusa

Top na prosječnom računalu izvrši ciklus za oko 0,5 sekundi. Program nije procesorski zahtjevan, ali ako ipak želite procesor iskoristiti za važnije zadatke, postavite duže trajanje intervala.

Za prosječnog korisnika ciklus trajanja izmeđi 1 i 3 sekunde dati će dovoljno informacija o sustavu. Brzinu ciklusa u sekundama određujemo -d opcijom, ili tipkom “s” u interaktivnom modu.

Ako želite, pritiskom na razmaknicu (Space) možete dobiti ispis i prije isteka intervala.

 

Više “prozora”

Pritiskom na tipku A ulazite u rad s više prozora. U svakom od njih su na drugačiji način prikazani aktivni procesi.

To može biti korisno ako ćete ponekad trebati različita praćenja istodobno.

Ubij proces

U interaktivnom načinu stsnite tipku “k”. Nakon toga otkucajte PID procesa i potvrdite s Enter.

Program će zaustaviti taj proces.

 

Eto, ako ste početnik svakako preporučamo da se upoznate s ovim jako korisnim programom. Nešto napredniji je program htop, ali taj program uglavnom ne dolazi predinstaliran na većini Linux distribucija pa je bolje ipak poznavati ovaj sveprisutan program. Nikada ne znate kada će vam zatrebati.

 

Izvor:HOW

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

12 Komentara

Dodaj svoj

jel moze neko da mi objasni zasto top i htop daju razlicite rezultate? na primer top pokazuje da je zauzece memorije 700+ mb a htop pokazuje samo 240 mb

Vidis, zanimljivo. Nisam na to obracao paznju, ali i meni pokazuje top 3100MB, a htop 1500MB. System monitor prikazuje vrijednost istu kao i htop.
BTW htop mi je neusporedivo vise upotrebljev i iskoristiv za razliku od top-a..

Potrošnja RAM-a se NIKAD ne gleda s top-om već free alatom jer top pokazuje “ne prilagođene” vrijednosti jer je tvoja memorija zapravo suma “free”, “buffers” i “cached”, a ono što top prikazuje je “used” – “buffers” i “cached” koristi free ili htop za pravilan prikaz potrošnje.

Također, htop jedini točno prikazuje zauzeće procesora kod procesora sa više jezgri (ili kod ekipe koja ima više procesora).

Sljedeća skripta bi ti trebala pomoći… što se tiče loada i tresholda pročitaj ovo štivo:
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

#!/bin/bash

## Note: will kill the top-most process if the $CPU_LOAD is greater than the $CPU_THRESHOLD.
echo
CPU_LOAD=$(uptime | cut -d”,” -f4 | cut -d”:” -f2 | cut -d” ” -f2 | sed -e “s/\.//g”)
CPU_THRESHOLD=300
PROCESS=$(ps aux r)
TOPPROCESS=$(ps -eo pid -eo pcpu -eo command | sort -k 2 -r | grep -v PID | head -n 1)

if [ $CPU_LOAD -gt $CPU_THRESHOLD ] ; then
# kill -9 $(ps -eo pid | sort -k 1 -r | grep -v PID | head -n 1) #original
# kill -9 $(ps -eo pcpu | sort -k 1 -r | grep -v %CPU | head -n 1)
kill -9 $TOPPROCESS
echo “System overloading!”
echo “Top-most process killed: $TOPPROCESS”
echo “Load average is at $CPU_LOAD”
echo
echo “Active processes:”
ps aux r

else
echo
echo “No run-aways”
echo “Load average is at $CPU_LOAD”
echo
echo “Active processes:”
ps aux r
fi
exit 0

Odgovori

Ova web-stranica koristi Akismet za zaštitu protiv spama. Saznajte kako se obrađuju podaci komentara.