1 | #! /bin/bash |
---|
2 | # A. Spiga |
---|
3 | |
---|
4 | echo "*********************************************************" |
---|
5 | echo "BIENVENUE. FERME COMMUNAUTAIRE BIO DE L'EQUIPE PLANETO. " |
---|
6 | echo "Patienter 20 secondes -- Verification de l'etat." |
---|
7 | echo "*********************************************************" |
---|
8 | |
---|
9 | ### clean |
---|
10 | for machine in 'levan' 'penn' 'viccaro' |
---|
11 | do |
---|
12 | \rm ~/bilan$machine > /dev/null 2> /dev/null |
---|
13 | done |
---|
14 | |
---|
15 | ### loop on test instances |
---|
16 | for ind in 1 2 3 4 5 6 7 |
---|
17 | do |
---|
18 | |
---|
19 | ### subloop on machines |
---|
20 | for machine in 'levan' 'penn' 'viccaro' |
---|
21 | do |
---|
22 | \rm ~/log$machine > /dev/null 2> /dev/null |
---|
23 | ssh $machine -t "ps --sort=-pcpu -e -o '%C %u %c %x %p' -G lmdjus r >> ~/log$machine" > /dev/null 2> /dev/null |
---|
24 | cat ~/log$machine | grep -v ps | grep -v root | grep -v grep | grep -v bash | grep -v CPU | wc -l >> ~/bilan$machine |
---|
25 | sleep 0.5 #1.0 |
---|
26 | done |
---|
27 | |
---|
28 | case $ind in |
---|
29 | 1) echo "--> merci de repartir les jobs sur les differentes machines (pas plus de 8 par machine)" ;; |
---|
30 | 3) echo "--> utiliser les disques /d*, /san*, ou /tmp* pour ecrire les donnees" ;; |
---|
31 | 5) echo "--> s'il n'y a pas de proc libre, negocie avec tes ami(e)s de l'equipe" ;; |
---|
32 | esac |
---|
33 | |
---|
34 | ### end loop on test instances |
---|
35 | done |
---|
36 | |
---|
37 | ### print result to user |
---|
38 | echo "*********************************************************" |
---|
39 | for machine in 'levan' 'penn' 'viccaro' |
---|
40 | do |
---|
41 | nproc=`sort -n ~/bilan$machine | tail -n 1` |
---|
42 | case $nproc in |
---|
43 | [1-7]) echo $machine -- ETAT OK. -- $nproc jobs pour 8 procs.;; |
---|
44 | 8) echo $machine -- COMPLET. NE PAS LANCER DE RUN. -- $nproc jobs pour 8 procs.;; |
---|
45 | 9) echo $machine -- SUR-REGIME. NE PAS LANCER DE RUN. -- $nproc jobs pour 8 procs.;; |
---|
46 | [1-9]*) echo $machine -- CHARGE ABUSIVE ANORMALE. NE PAS ENTRER. -- $nproc jobs pour 8 procs.;; |
---|
47 | esac |
---|
48 | \rm ~/log$machine > /dev/null 2> /dev/null |
---|
49 | \rm ~/bilan$machine > /dev/null 2> /dev/null |
---|
50 | done |
---|
51 | echo "*********************************************************" |
---|