Menu pagine
TwitterRssFacebook
Menu Categorie

Scritto il 10 febbraio 2012 in Linux & Open Source | 1 commento

Identificare ed uccidere processi Zombie in un server Linux

Identificare ed uccidere processi Zombie in un server Linux

Recentemente ho avuto necessità di eseguire un pò di tuning su un server Linux, spesso infestato da processi zombie che lo portavano a raggiungere elevatissimi carichi operativi. Dalla descrizione di Wikipedia:

Nei sistemi operativi Unix e Unix-like, un processo zombie o processo defunto è un processo informatico che, nonostante abbia terminato la propria esecuzione, possiede ancora un PID ed un process control block, necessario per permettere al proprio processo padre di leggerne il valore di uscita.

Girovagando alla ricerca di informazioni utili, mi sono imbattuto in un ottimo script, da copiare sui vostri server, in grado di identificare e killare lo zombie, oltre a lasciarne una traccia un un file di log apposito.

Lo script kill-zombie

Come prima cosa, creeremo (con i permessi di root) un nuovo file kill-zombie

In seguito copiamo il seguente codice ed incolliamolo nel file appena creato

Ora rendiamolo eseguibile e spostiamolo in /usr/bin

Funzionamento

Lo script viene evocato con un flag, che ne modifica il comportamento:

L’esecuzione avviene manualmente. Se vengono rilevati processi zombie l’utente ne viene informato e deve confermare l’operazione

Lo script dovrà essere inserito nel crontab e richiamato quindi a cadenze regolari dal server. I processi vengono killati in automatico e ne viene lasciata traccia in /var/log/zombies.log

Inserimento nel crontab

Richiamiamo l’editor del crontab con questo comando

Ed inseriamo questa riga

In questo modo, lo script verrà eseguito ogni 10 minuti a cadenza regolare. In caso si voglia modificare l’intervallo di tempo, sarà sufficiente cambiare ad esempio */10 in */5 (per 5 minuti)

Riferimenti: Automatic “zombie” processes killing (shell script) | CronHowto

Download “zombies.sh” zombies.sh – Downloaded 124 times – 1 kB

468 ad

Google+