Last modified 5 years ago Last modified on 02/03/2012 15:51:03

Quelques commandes bien utiles pour discuter avec la ferme.

Java

Gilles a fait en sorte que la machine virtuelle adaptée soit disponible selon que l'on soit sur un nœud 32 ou 64 bits. La machine virtuelle est accessible là : /usr/local/java/jdk1.6.0_02/bin/java

Commandes de base de pbs

  • pour lancer le programme monExecutable dans le répertoire monRepertoire, avec nomDeMonJob comme nom de job. L'option -m n désactive l'envoi de courriel à la fin.
    echo "cd monRepertoire; ./monExecutable" | qsub -l nodes=1:ppn=1 -m n -N nomDeMonJob
    
  • qstat : avoir la liste de ses jobs
  • qstat -n : idem, mais avec le noeud où se trouvent les jobs
  • pbsnodes -a : pour voir l'état du cluster

Conseils importants :

  • Il n'est pas toujours facile de savoir si un job s'est correctement terminé, le mieux est donc d'ajouter à la fin de la commande à envoyer à qsub :
    echo "Job Fini";
    

Soit :

echo "cd monRepertoire; ./monExecutable; echo Job Fini;" | qsub -l nodes=1:ppn=1 -m n -N nomDeMonJob
  • De même, il peut être utile d'enregistrer également des informations sur la commande lancée.
  • Le nommage des jobs est important pour vous y retrouver dans les fichiers de sortie

Mini-script avancés, et + si affinités

  • liste des noeuds occupés, avec les jobs en cours :
    pbsnodes -a | awk ' /status =/ {next}; /node[0-9]+/ {node=$1}; /jobs = /  {print node"\t "$3" "$4}'
    
  • pareil avec affichage du type de noeud, le tout trié par type de noeud
    pbsnodes -a | awk ' /status =/ {next}; /node[0-9]+/ {node=$1}; /properties = / {prop=$3}; /jobs = / {print prop" "node"\t "$3" "$4}' | sort
    
  • affiche l'état de la mémoire pour les noeuds que l'on utilise :
    for NODE in `qstat -n | grep node | cut -f1 -d'/'`; do echo -e " $NODE : \t" `rsh $NODE 'free -m' | awk '/Mem:/ {print $3" / "$2" m"}'`; done
    
  • Supprime tout les jobs en cours :
    qstat | grep master | cut -f1 -d'.' | xargs qdel