[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Far saltellare un processo fra due cpu



Ciao a tutti,
ho svariati processi, piuttosto pesanti, che girano su una macchina
dual-processor.
Contavo di usare l'affinity fornita dallo scheduler per far saltare i
processi da una cpu all'altra ogni 3 ore, in quanto il persistere di
un processo solo su una determinata cpu ne causa il surriscaldamento.
Cosa ne dite del seguente script, ci sono metodi piu' efficienti per
fare la stessa cosa?

-------------------
#!/bin/bash

cpu = 1

#deve ciclare in continuazione

while [ 1 ] do

#questo if inverte, a ogni iterazione, il valore della variabile cpu

        if [ $cpu = 2 ]; then
                cpu = 1
        else    
                cpu = 2
        fi      

#questo ciclo for trova tutti i processi e, tramite il programmino
#affinity, assegna ciascun pid alla cpu designata.

	for pid in `ps aux | grep -i NOMEPROCESSO | awk '{print $2}'`
                do /usr/sbin/affinity $pid $cpu
        done

#faccio dormire il tutto per 10800 secondi, ovvero 3 ore

        sleep 10800
done 
-------------------

grazie mille per ogni eventuale correzione.
Saluti

-- 
           Andrea Lusuardi  -  UoVoBW 
          Registered Linux User #364578
    http://uovobw.homelinux.org/ - GPG: 313C1073
Italy: the only country where there's a difference between
          "forbidden" and "strictly forbidden"

Attachment: signature.asc
Description: PGP signature


Reply to: