top e ps
This commit is contained in:
parent
9fbe92c555
commit
eebadff7b8
@ -112,3 +112,157 @@ SIGTERM (15): Terminate - Richiesta di terminare un processo; può essere cattur
|
||||
```
|
||||
|
||||
## top e ps
|
||||
|
||||
Mentre il primo produce un output dinamicamente, il secondo lo fa staticamente.
|
||||
|
||||
```bash
|
||||
> top
|
||||
top - 20:24:27 up 9:18, 2 users, load average: 0,52, 0,68, 0,60
|
||||
Tasks: 363 total, 1 running, 359 sleeping, 0 stopped, 3 zombie
|
||||
%Cpu(s): 2,2 us, 2,2 sy, 0,0 ni, 95,7 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
|
||||
MiB Mem : 30036,5 total, 13939,2 free, 6648,3 used, 10742,6 buff/cache
|
||||
MiB Swap: 980,0 total, 980,0 free, 0,0 used. 23388,2 avail Mem
|
||||
|
||||
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
|
||||
46892 dado 20 0 10428 5484 3308 R 8,3 0,0 0:00.02 top
|
||||
1 root 20 0 24688 15564 10476 S 0,0 0,1 0:04.42 systemd
|
||||
2 root 20 0 0 0 0 S 0,0 0,0 0:00.02 kthreadd
|
||||
```
|
||||
|
||||
`top` consente alcune interazioni:
|
||||
|
||||
- `M`: ordina per utilizzo della memoria
|
||||
- `N`: ordina per *numero* ID del processo
|
||||
- `T`: *tempo* di esecuzione
|
||||
- `P`: percentuale di uso della CPU
|
||||
- `R`: ordine ascendente/discendente
|
||||
- `k`: termina un processo
|
||||
- `r`: *renice*, ossia cambia la priorita' di un processo. `top` chiedera' il valore di `nice`, compreso tra -20 e 19 (solo root puo' impostare il valore a un numero negativo o inferiore a quello attuale). MAggiore il valore, minore la priorita'.
|
||||
- `u`: elenca i processi di un particolare utente
|
||||
- `c`: mostra i percorsi assoluti dei programmi e distingue tra processi in *userspace* e in *kernel space* (tra parentesi `[]`)
|
||||
- `V`: vista a foresta
|
||||
- `W`: salva le impostazioni di configurazione in `~/.toprc`
|
||||
|
||||
### Output di top
|
||||
|
||||
Suddiviso in:
|
||||
|
||||
- *summary area*
|
||||
- *task area*
|
||||
|
||||
#### Summary area
|
||||
|
||||
Composta dalle cinque righe superiori:
|
||||
|
||||
```bash
|
||||
top - 20:32:32 up 9:27, 2 users, load average: 0,90, 0,88, 0,73
|
||||
```
|
||||
- *current time* (nel formato 24 ore): `20:32:32`
|
||||
- *uptime*: `up 9:27`
|
||||
- *numero di utenti attivi* e *carico medio della CPU* per gli ultimi 1, 5, 15 minuti: `2 users, load average: 0,90, 0,88, 0,73`
|
||||
|
||||
```bash
|
||||
Tasks: 370 total, 1 running, 366 sleeping, 0 stopped, 3 zombie
|
||||
```
|
||||
- *numero di processi*: `Tasks: 370 total`
|
||||
- *processi running*: `1 running`
|
||||
- *sleeping* (processi in attesa di riprendere l'esecuzione): `366 sleeping`
|
||||
- *zombie*: quelli che hanno terminato l'esecuzione, ma stanno aspettando che il loro processo padre li rimuova dalla tabella dei processi
|
||||
|
||||
```bash
|
||||
%Cpu(s): 2,2 us, 4,3 sy, 0,0 ni, 93,5 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
|
||||
```
|
||||
|
||||
- *processi utente*: `2,2 us`
|
||||
- *processi system/kernel*: `4,3 sy`
|
||||
- *processi impostati tramite un valore di nice*: `0,0 ni`
|
||||
- *tempo di inattivita' della CPU*: `93,5 id`
|
||||
- *processi in attesa di operazioni di I/O*: `0,0 wa`
|
||||
- *processi che servono interrupt hardware* (periferiche che inviano segnali al processore e che richiedono attenzione): `0,0 hi`
|
||||
- *processi che servono interrupt software*: `0,0 si`
|
||||
- *processi che servono le attivita' di VM*: `0,0 st`
|
||||
|
||||
```bash
|
||||
MiB Mem : 30036,5 total, 11781,4 free, 7221,2 used, 12340,0 buff/cache
|
||||
```
|
||||
|
||||
- memoria totale: `Mem : 30036,5 total`
|
||||
- memoria inutilizzata: ` 11781,4 free`
|
||||
- memoria in uso: `7221,2 used`
|
||||
- memoria bufferizzata e memorizzata nella cache, per evitare un accesso eccessivo al disco: `12340,0 buff/cache`
|
||||
|
||||
```bash
|
||||
MiB Swap: 980,0 total, 980,0 free, 0,0 used. 22815,3 avail Mem
|
||||
```
|
||||
|
||||
- swap totale: `Swap: 980,0 total`
|
||||
- spazio di swap inutilizzato: `980,0 free`
|
||||
- spazio di swap in uso
|
||||
|
||||
#### Task area: campi e colonne
|
||||
|
||||
```bash
|
||||
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
|
||||
49342 dado 20 0 10428 5492 3316 R 9,1 0,0 0:00.02 top
|
||||
1 root 20 0 24688 15564 10476 S 0,0 0,1 0:04.48 systemd
|
||||
```
|
||||
|
||||
Include una serie di campi e colonne che riportano informazioni sui processi in esecuzione:
|
||||
|
||||
- `PID`
|
||||
- `USER`: utente che ha eseguito il comando che ha generato il processo
|
||||
- `PR`: priorita' del processo al kernel
|
||||
- `NI`: valore di *nice*
|
||||
- `VIRT`: memoria totale usata dal processo, incluso lo swap
|
||||
- `RES`: memoria RAM utilizzata dal processo
|
||||
- `SHR`: memoria condivisa con altri processi
|
||||
- `S`: stato del processo. I valori includono S (sleep), R (running) e Z (zombie)
|
||||
- `%CPU`: percentuale di CPU utilizzata dal processo
|
||||
- `%MEM`: percentuale di memoria RAM utilizzata (RES in %)
|
||||
- `TIME+`: tempo totale di attivita' del processo
|
||||
- `COMMAND`: comando che ha generato il processo
|
||||
|
||||
## ps
|
||||
|
||||
Mostra un'istantanea dei processi. Per vedere tutti i processi:
|
||||
|
||||
```bash
|
||||
> ps a
|
||||
PID TTY STAT TIME COMMAND
|
||||
2230 tty1 Ssl+ 4:29 sway
|
||||
3431 tty1 Sl+ 2:26 Xwayland :0 -rootless -core -terminate 10 -listenfd 26 -listenfd 32 -displayfd 106 -wm
|
||||
29065 tty1 S+ 0:00 swaybg
|
||||
29067 tty1 Sl+ 0:17 waybar -b bar-0
|
||||
49590 pts/1 Ss 0:00 /bin/bash
|
||||
49596 pts/1 R+ 0:00 ps a
|
||||
```
|
||||
|
||||
`ps` accetta tre diversi stili di opzioni: BSD (ps a), UNIX (ps -a) e GNU (ps --pid).
|
||||
|
||||
Per vedere i processi di un particolare utente:
|
||||
|
||||
- `ps U user` (BSD)
|
||||
- `ps -u user` (UNIX)
|
||||
- `ps --user user` (GNU)
|
||||
|
||||
Un comando utile, che produce un output simile a quello di top, che mostra i processi di tutte le shell, e' `ps aux`, dove:
|
||||
|
||||
- `a`: mostra tutti i processi collegati a un terminale
|
||||
- `u`: formato orientato all'utente
|
||||
- `x`: mostra i processi che non sono collegati a un terminale
|
||||
|
||||
```bash
|
||||
> ps aux
|
||||
'USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
|
||||
root 1 0.0 0.0 24688 15564 ? Ss 11:05 0:04 /sbin/init
|
||||
root 2 0.0 0.0 0 0 ? S 11:05 0:00 [kthreadd]
|
||||
root 3 0.0 0.0 0 0 ? S 11:05 0:00 [pool_workqueue_release]
|
||||
```
|
||||
|
||||
- `USER`
|
||||
- `PID`
|
||||
- `%CPU`: percentuale di CPU utilizzata
|
||||
- `%MEM`: percentuale di memoria fisica utilizzata
|
||||
- `TT`: terminale (*tty*) che controlla il processo
|
||||
- `STAT`: codice che rappresenta lo stato del processo. I valori includono S (sleep), R (running), Z (zombie), T (stopped)
|
||||
- `STARTED`: ora in cui e' iniziato il processo
|
Loading…
x
Reference in New Issue
Block a user