web-dev-qa-db-fra.com

Processus initial à 100% d'utilisation du processeur

J'ai une machine Ubuntu x64 sur un compte OpenVZ VPS sur un processeur QuadCore avec 1 Go/2 Go (en rafale). Il y a quelques jours, j'ai réussi à le mettre à jour en 11.10 Oneiric Ocelot. Il n’ya qu’un seul problème: mon processus "init" (PID = 1) utilise 100% du processeur, ce qui permet de garder un cœur 99,5% du temps à plein régime.

Y at-il une solution pour arrêter le comportement de l'étrange init? Puis-je retracer ce qui se passe derrière le processus init pour savoir ce qui le fait monter en flèche?

7
Cristian Sitov

De Forum PLC de Bellum - Ubuntu 11.10 init 100% CPU bug bug :

J'ai remarqué un problème d'utilisation du processeur avec init dû à upstart, qui consommait 99% de RAM en permanence. et j'ai décidé de trouver une solution de travail. C'est un bogue qui a été confirmé par Ubuntu, mais vous trouverez ci-dessous un correctif rapide qui devrait fonctionner complètement pour tous.

Tout d'abord, ouvrez SSH et ajoutez le PPA suivant
add-apt-repository ppa:jammy/upstart.fix-880049
Appuyez sur Entrée et Entrée à nouveau.

Si la commande est introuvable, lancez cette commande en premier
apt-get install python-software-properties
Ensuite
apt-get update && apt-get upgrade

7
RaidX

Malheureusement, pstace () faisant un usage intensif de ptrace () pour ses fonctionnalités "expect fork", il est très difficile, voire impossible, d'attacher ou d'y attacher w/gdb la plupart du temps.

Cependant, vous pouvez activer la journalisation détaillée.

initctl log-priority info

Si vous voulez encore plus de choses

initctl log-priority debug

Cela peut au moins donner une idée de ce qu’il fait pour utiliser tous ces cycles du processeur.

4
SpamapS

Le problème est que init nécessite un accès à/dev/console, qui n'existe pas dans une machine virtuelle OpenVZ.

Si vous avez accès à la machine physique, vous pouvez créer le périphérique/dev/console en accordant l'accès au périphérique physique:

vzctl set 105 --devices c:5:1:rw --save

Remplacez 105 par le numéro de votre serveur virtuel. J'ai eu le même problème, et cela a résolu le problème sans avoir à compiler un init corrigé.

0
Cedric Roijakkers