Top è una dashborad che permettte di monitorare le attività in corso del sistema.
#top
top - 12:21:46 up 178 days, 2 min, 1 user, load average: 0.04, 0.09, 0.13
Tasks: 289 total, 1 running, 288 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 1.0 sy, 0.0 ni, 97.3 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8009332 total, 110004 free, 2339876 used, 5559452 buff/cache
KiB Swap: 9723340 total, 3564492 free, 6158848 used. 508436 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25143 oracle -2 0 4354576 3384 3200 S 2.0 0.0 3208:26 ora_vktm_cdb19l
27028 oracle -2 0 4354576 3804 3620 S 2.0 0.0 3213:14 ora_vktm_cdb19l
28250 root 20 0 162244 2484 1572 R 1.0 0.0 0:00.11 top
us = user space
sy = system space
ni = sono i processi la cui priorità cambia usando i Nice Value. Il valore negativo indica alta priorità, invece un valore positivo indica una bassa priorità. Nice ha il range da -20 a 19.
id = the CPU's idle time;
un tempo di inattività elevato significa che non succede moltowa = Percentuale dei processi in attesa di operazioni I/O.
Un vaore alto di wa è pericoloso perchè indica che il sistema è in sofferenza a causa di un disco lento.hi : time spent waiting for hardware interrupts
si : time spent waiting for software interrupts
st : "time stolen from this VM by the hypervisor"
PR= indica la priorità del task. Quelli "rt" sono real time e quindi prioritari rispetto a tutti gli altri processi.
NI = rappresenta il valore “NICE” (0). I processi root con -20 sono quelli che hanno la maggiore priorità come i processi del kernel.
VIRT = memoria virtuale utilizzata dal processo
RES = memoria fisica utlizzata dal processo
SHR = Represents the Shared Memory size (kb) used by a task. Memoria condivisa dal processo
S = The state the process is in.
S=sleep
R=esecuzione
Z=zombie (S)
%CPU = Represents the CPU usage.
%MEM = mostra la percentuale di utilizzo della Ram da parte del processo
TIME+ = CPU Time, indica il tempo di attività del processo
COMMAND = The command that is being run.
--> Per modificare il display premere "f".
Selezionare la colonna che si vuole visualizzare e premere su "spazio" e poi "q" per uscire.
Premere su "maiscolo"+w per salvare la visualizzazione scelta.
--> Per killare un processo:
selezionare con le frecce su e giù per selezionare il pid da killare e poi premere "k".
Apparirà l'informazione del processo da killare.
--> Per ordinare in base ad una colonna, premere "f", selezionare la colonna interessata e premere "s" e infine "q" per uscire.
--> Per cambiare la priorità di un processo.
Selezionare "r" (sta per renice)
top - 16:06:08 up 181 days, 3:46, 1 user, load average: 0.62, 0.25, 0.18
Tasks: 292 total, 2 running, 290 sleeping, 0 stopped, 0 zombie
%Cpu(s): 25.0 us, 28.4 sy, 0.0 ni, 46.1 id, 0.2 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 8009332 total, 56412 free, 2332312 used, 5620608 buff/cache
KiB Swap: 9723340 total, 3402860 free, 6320480 used. 477084 avail Mem
PID to renice [default pid = 479]
PID USER PR NI VIRT RES SHR S %MEM TIME+ COMMAND %CPU
479 root 20 0 108100 616 516 R 0.0 0:38.12 dd 87.7
Cliccare su "invio" e compare l'ulteriore messaggio dove inserire il nuovo valore di nice:
Renice PID 479 to value
PID USER PR NI VIRT RES SHR S %MEM TIME+ COMMAND %CPU
479 root 20 0 108100 616 516 R 0.0 0:38.12 dd 87.7
Se inserisco ad esempio il valore -5 il valore di %CPU sale
PID USER PR NI VIRT RES SHR S %MEM TIME+ COMMAND %CPU
479 root 15 -5 108100 616 516 R 0.0 1:40.29 dd 98.0
Da linea di comando:
# nice --help
Diamo una priorità da linea di comando alla funzione "Moving nothign to nowhere"
# dd if=/dev/zero of=/dev/null &
[1] 479
# top
PID USER PR NI VIRT RES SHR S %MEM TIME+ COMMAND %CPU SWAP
479 root 20 0 108100 616 516 R 0.0 0:20.11 dd 88.7 0
# nice -n -1 dd if=/dev/zero of=/dev/null &
[1] 931
[root@coslab02 ~]# top
PID USER PR NI VIRT RES SHR S %MEM TIME+ COMMAND %CPU SWAP
931 root 19 -1 108100 616 516 R 0.0 0:05.52 dd 98.4 0
Per rimpostare la priorità al valore precedente:
# ps aux | grep '\<dd'
root 931 98.5 0.0 108100 616 pts/0 R< 16:13 3:08 dd if=/dev/zero of=/dev/null
root 1103 0.0 0.0 112812 996 pts/0 S+ 16:16 0:00 grep --color=auto \<dd
# renice -n 0 931
931 (process ID) old priority -1, new priority 0