5 votes

Comment empêcher Ubuntu de se suspendre à cause des processus qui se mettent en "disk sleep" ?

J'utilise Ubuntu 9.04 64 bits sur un AMD. Il se bloque régulièrement pendant quelques minutes, lorsque le pourcentage d'utilisation du processeur de certains processus passe en "veille de disque". Pendant ce temps, je ne peux pas lancer de nouveaux programmes et la plupart des programmes sur le bureau ne répondent plus.

Je préférerais qu'il ne se bloque pas et que mes applications restent fiables et réactives. Pourquoi cela se produit-il et comment puis-je y mettre fin ?

8voto

Un processus en veille de disque ou en veille ininterrompue attend généralement la fin d'une opération d'entrée/sortie. Dans cet état, il ne peut pas être réveillé par des signaux, et le processus ne peut donc pas être arrêté à l'aide du signal SIGKILL.

Ma compréhension limitée de ce qui se passe est la suivante : L'ordonnanceur du CPU dans le noyau maintient une file d'attente d'exécution qui est la liste des processus qui sont prêts à être exécutés. Lorsqu'un processus obtient le CPU, soit

  1. utilise pleinement son créneau horaire et se fait éliminer, ou
  2. Il doit attendre la réponse d'une opération, généralement d'E/S, et demande à être transféré dans la file d'attente de sommeil, en attendant l'événement.

Les processus qui sont planifiés en raison du numéro 2 indiquent également au planificateur s'ils doivent être interrompus ou non pendant qu'ils attendent l'événement. Lorsqu'ils ne peuvent pas continuer à fonctionner correctement s'ils sont interrompus par un signal (généralement les pilotes de périphériques), ils indiquent qu'ils ne doivent être réveillés que par l'événement. Ils sont dans un état de sommeil ininterrompu, et seront déplacés vers la file d'attente de sommeil.

Si le système se bloque régulièrement en raison de la mise en veille du disque, il peut s'agir de l'un des problèmes suivants

  • Pilote de périphérique défectueux
  • Défauts sur votre matériel (Disque dur ?)
  • Les systèmes de fichiers montés qui sont lents à répondre.

J'ai vu cela à maintes reprises avec les systèmes de fichiers NFS. Si, pour une raison quelconque, la réponse du périphérique est perdue, le processus restera en état de veille, rendant presque impossible l'utilisation du montage/dispositif jusqu'à un redémarrage.

Si vous pensez que l'accès à votre disque dur est à l'origine des blocages d'E/S, il peut être prudent de vérifier s'il y a des blocs ou des secteurs défectueux sur le disque.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X