Aller au contenu principal

Sur la machine srv-lin-01. Lire le ticket, agir dans le terminal, puis vérifier.

Ticket 3705, ouvert par Thomas Legrand : depuis hier soir, srv-lin-01 rame. Les techniciens de l'Entretien des réseaux attendent plusieurs secondes chaque page de l'application de suivi des interventions, et le tableau de bord de la supervision affiche le processeur à 100 %. Samir propose d'arrêter le cache de la cartographie, qui occupe le plus de mémoire ; Thomas, d'ajouter un processeur virtuel à la machine. Avant de toucher au matériel, il faut savoir ce qui consomme.

Ce qui tourne sur srv-lin-01 :

  • l'application de suivi des interventions (interventions) et le cache de la cartographie du réseau d'eau (cache-carto) : deux services, qui ne doivent pas s'arrêter ;
  • le recalcul des consommations du trimestre (recalcul-conso), lancé par Samir pour la facturation, et l'archivage des mesures du laboratoire (archive-mesures), lancé par Léna : deux travaux de fond, sans urgence, qui doivent aller à leur terme ;
  • l'ancien export des analyses vers l'agence régionale de santé (export-ars), remplacé la semaine dernière par le nouveau : il n'a plus lieu de tourner.

Trouver ce qui accapare le processeur, et agir en conséquence : s'il n'a plus lieu de tourner, l'arrêter ; s'il doit aller à son terme, le laisser finir, mais après les services. Aucun service ni aucun travail qui doit finir ne doit être arrêté ou suspendu.

Rappel

Le chapitre lit la mémoire et le processeur d'un serveur avant de conclure qu'il manque de matériel. Ce que le Gestionnaire des tâches montre sous Windows, top le montre ici, rafraîchi en continu (q pour quitter) :

  • la ligne Mem: donne la mémoire occupée (used), libre (free) et gardée en cache par le noyau (cached) ;
  • la ligne CPU: partage le temps du processeur : usr dans les programmes, sys dans le noyau, nic dans les programmes de basse priorité, idle inoccupé, io à attendre le disque ; sur cette machine émulée, une part de sys et irq vient de l'émulateur lui-même ;
  • Load average donne la charge moyenne sur 1, 5 et 15 minutes, à rapporter au nombre de processeurs (nproc) ;
  • dessous, les processus, du plus gourmand au moins gourmand (%CPU).

Pour agir sur un processus, par son numéro (le PID, que donnent top, ps ou pidof NOM) :

  • ps -o pid,user,nice,rss,time,args liste chacun avec son compte, sa priorité (nice), sa mémoire (rss, en kilo-octets) et le temps de calcul déjà consommé ;
  • kill PID demande à un processus de s'arrêter ; kill -STOP PID le suspend sans l'arrêter, kill -CONT PID le relance ;
  • renice -n 19 -p PID baisse sa priorité de 19 crans (de 0, la priorité ordinaire, à 19, la plus basse), renice 19 -u COMPTE met à 19 tous les processus d'un compte : le processus tourne toujours, mais ne passe plus qu'après les autres. Agir sur le processus d'un autre compte demande sudo.

Boîte à outils

Un clic écrit la commande au curseur, sans la lancer.

Indications

Indication 2
Indication 3

Le ticket se prépare dès que la machine est prête.