[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


292. Processi ed utilizzo delle risorse del sistema

292.1 Improvviso aumento dell'attività del disco rigido e rallentamento del sistema

Ultimamente ho avuto un problema: stavo comodamente girando per il web quando ad un tratto il disco rigido ha cominciato a rumoreggiare incessantemente. Il sistema era talmente lento che ho dovuto riavviare. Cosa succede?

È il demone cron, bastava aspettare del tempo. Tra i comandi più lunghi che cron
esegue ti cito solo "updatedb" e "e2fsck". Capisci quindi perché il sistema
rallenta così tanto. Per modificare i comandi di cron è sufficiente
modificare /etc/crontab (man crontab per la sintassi). Non è indicato
disattivare cron del tutto, perché esso attiva delle procedure necessarie per il
buon funzionamento del sistema (come ad esempio la rotazione dei file di log).

292.2 Stato della macchina

Come faccio a vedere sulla mia macchina come sono messe le risorse? Vale a dire memoria libera e utilizzo del processore? Solo da console non da X.


top, free (memoria) , tload (media di carico)

/proc/meminfo
/proc/loadavg
/proc/swaps

D: Andreozzi Francesco
R: Elisa Manara

292.3 Quanta memoria e quante risorse sta usando un processo?

Come faccio a sapere quanta memoria occupa un processo?

Con top si può vedere quali e quante sono le risorse occupate da un processo
(memoria, processore, ...).

D: Matteo Bordin
R: Ciro Sammarcellino

292.4 Visualizzazione programmi in esecuzione e loro arresto

Come faccio a sapere quali programmi sono in esecuzione ed eventualmente come faccio a terminarne l'esecuzione di alcuni?

Per visualizzare:

ps

Per uccidere (concludere):

kill NUMERO 

(dove numero è il numero del processo che si vuole concludere, identificabile con ps). 

292.5 PID dei processi

Come posso sapere il PID di un processo per metterlo in uno script?

Con ps vengono elencati tutti i processi con i loro PID.
Per alcuni processi dentro /var/run esistono i file processo.pid 
che contengono il numero del PID e, a volte, la riga di comando con cui
il processo è stato attivato; ad esempio il file sendmail.pid può risultare:

174
/usr/sbin/sendmail -bd -q10m

Per cui nella programmazione di script shell li posso utilizzare per arrestare
un processo.

Ad esempio se volessi interrompere il processo 'Apache' potremmo creare uno script
che contiene:

#!/bin/csh
#mette il pid di apache in una variabile
set MYVAR = `more /var/run/httpd.pid`
echo "Il PID di Apache è : $MYVAR"
echo "Sto per eseguire il comando: kill -9 $MYVAR"
# Uccide il demone
kill -9 $MYVAR

ora la spiegazione:


La prima riga (#!/bin/csh) dice allo script quale interprete/linguaggio/shell usare.

*  Tutte le altre righe con il # iniziale sono commenti;

*  il set serve per inizializzare/dichiarare/impostare
   una variabile, nota che in `more /var/run/httpd.pid`,
   il segno ` [nota che questo simbolo non è né l'apostrofo né le
   doppie virgolette] è importantissimo perché fa eseguire come
   comando di sistema tutto ciò che vi è racchiuso;

*  con l'echo si visualizza il risultato sullo schermo;

*  l'ultima riga rappresenta l'uccisione del processo.


Per la shell bash:

#!/bin/sh
#mette il pid di apache in una variabile
MYVAR = `more /var/run/httpd.pid`
echo "Il PID di Apache è : $MYVAR"
echo "Sto per eseguire il comando: kill -9 $MYVAR"
# Uccide il demone
kill -9 $MYVAR

D/R: Francesco Ferrante

292.6 Sapere il pid di chi tiene occupato un dispositivo

Come si fa a sapere il pid del processo che tiene occupato un dispositivo?

fuser -m /dev/??? 

se risulta essere bash o chi per lei, allora il dispositivo è occupato
perché si è nella directory montata o in una delle sue sottodirectory.

R: Fabio

292.7 Terminare un applicazione bloccata

Come si fa a terminare un applicazione bloccata?

Dobbiamo ucciderne il processo:

kill -9 pid 

(pid è il Process ID del processo bloccato, ottenibile con ps)

R: Boomby

---------------------------

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]