J'utilise Ubuntu 12.10 avec Gnome-Classic. Je reçois souvent cette erreur et avec presque tous les programmes, petits et grands. Lorsque j'essaie de les ouvrir, ils ne démarrent pas et un message d'erreur indiquant Could not launch 'Program' - Failed to fork child process (Cannot allocate memory)
s'affiche à la place. Ce n'était pas un problème jusqu'à ces dernières semaines.
Je ne peux pas discerner de points communs entre les programmes qui causent cette erreur. Cela semble être plus une question de temps. Une fois que mon ordinateur est en marche depuis un certain temps, d'une journée à quelques jours, je n'arrive pas à démarrer de nouveaux programmes.
Le seul moyen que je connaisse pour éviter cette erreur consiste à redémarrer l'ordinateur.
Pourquoi ai-je cette erreur et que dois-je faire pour que cela ne se produise plus?
J'ai lancé le memtest disponible à partir du menu GRUB, et il ne signale aucune erreur. Je ne pense donc pas qu'il s'agisse d'une défaillance matérielle.
J'ai également exécuté Sudo apt-get check
et aucune erreur n'a été trouvée.
Voici quelques résultats demandés en ligne de commande:
$ free -m
total used free shared buffers cached
Mem: 3945 3753 191 0 181 475
-/+ buffers/cache: 3096 848
Swap: 3813 60 3753
$ swapon -s
Filename Type Size Used Priority
/dev/sda6 partition 3905532 61648 -1
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31421
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 31421
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Voici le résultat de ps --sort -rss -eo rss,pid,command | head
après l'apparition de l'erreur:
$ ps --sort -rss -eo rss,pid,command | head
RSS PID COMMAND
1963400 2953 gnome-panel
155496 4029 banshee /usr/lib/banshee/Banshee.exe --redirect-log --play-enqueued
104944 15765 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/2/OneClickSignIn/Standard/Prerender/PrerenderEnabled/SBInterstitial/V2/SpdyCwnd/cwndMin10/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-1-Percent/group_09/UMA-Uniformity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_03/UMA-Uniformity-Trial-5-Percent/group_06/UMA-Uniformity-Trial-50-Percent/group_01/WarmSocketImpact/last_accessed_socket/ --enable-crash-reporter=ECE9000094D279FD3B14B35A74BF72CC,Ubuntu 12.10 --renderer-print-preview --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=15654.5.89177240
78164 15654 /opt/google/chrome/chrome
74912 19890 /usr/bin/python /usr/share/oneconf/oneconf-service
65476 12419 /usr/bin/Perl /usr/bin/shutter
61096 19626 /usr/bin/python3.2 /usr/sbin/aptd
57832 15708 /opt/google/chrome/chrome --type=renderer --lang=en-US --force-fieldtrials=ForceCompositingMode/disable/GlobalSdch/global_enable_sdch/InfiniteCache/No/OmniboxDisallowInlineHQP/Standard/OmniboxHUPCreateShorterMatch/Standard/OmniboxHUPCullRedirects/Standard/OmniboxSearchSuggestTrialStarted2012Q4/2/OneClickSignIn/Standard/Prerender/PrerenderEnabled/SBInterstitial/V2/SpdyCwnd/cwndMin10/SpeculativePrefetching/Disabled/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/default/UMA-Uniformity-Trial-1-Percent/group_09/UMA-Uniformity-Trial-10-Percent/group_08/UMA-Uniformity-Trial-20-Percent/group_03/UMA-Uniformity-Trial-5-Percent/group_06/UMA-Uniformity-Trial-50-Percent/group_01/WarmSocketImpact/last_accessed_socket/ --enable-crash-reporter=ECE9000094D279FD3B14B35A74BF72CC,Ubuntu 12.10 --extension-process --renderer-print-preview --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=15654.2.1555888673
42108 3030 /var/lib/dropbox/.dropbox-dist/dropbox
Sur la base des suggestions figurant dans les commentaires et les réponses, il semble possible que le problème concerne le panneau Gnome ou ses applets. Voici les applets que j'ai en cours d'exécution:
Les applets sont Indicator Applet 12.10.1
, System Monitor 3.5.92
et une "zone de notification". et "date et heure", pour lesquels je ne peux accéder au numéro de version.
Voici quelques résultats de plus en ligne de commande:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 19G 12G 6.4G 64% /
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 790M 1.1M 789M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 84K 2.0G 1% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda7 384G 306G 59G 84% /home
[email protected]:/home/mythbuntu 437G 360G 55G 87% /home/dave/Mythbuntu
$ Sudo du -csh /var/log
15M /var/log
15M total
Après avoir essayé de l'utiliser de temps en temps au cours des deux derniers jours, je suis convaincu que le problème était une fuite de mémoire dans la partie de l'indicateur météorologique de l'applet heure et date. Lorsque la météo est affichée, l'utilisation de la mémoire augmente avec le temps. Lorsque le temps ne s'affiche pas, la mémoire n'augmente pas.
Je suppose que c’est un bogue lié à l’indicateur météo qui devrait être signalé, mais le fait de signaler des bogues sur Launchpad est un processus beaucoup trop compliqué pour moi.
Certains processus perd de la mémoire. Pour avoir une idée du processus, lancez
ps --sort -rss -eo rss,pid,command | head
Je vous suggère de commencer le processus de dépannage en testant le RAM à l'aide de l'utilitaire intégré fourni dans le menu de démarrage GRUB et en éliminant le problème de la mémoire RAM défectueuse.
test de mémoire
Memtest86 +
Ensuite, recherchez dans votre système les dépendances brisées d'un terminal avec Sudo apt-get check et, si des erreurs sont détectées, réexécutez la commande sous la forme Sudo apt-get check -f pour essayer de les corriger.
Si vous le souhaitez, essayez ces étapes et faites un rapport ici avec tous les résultats.
Leland
Salut Dave,
Ok, alors - nous avons exclu le matériel en tant que source du problème.
Ensuite, examinons l'utilisation de la mémoire et les paramètres de processus sur votre ordinateur. exécutez ces commandes à partir d'une invite de terminal:
quantité affichée de mémoire libre et utilisée
gratuit -m
Afficher le résumé de l'utilisation de l'échange
swapon -s
Affiche les limites des ressources du processus utilisateur
ulimit -a
La capture d'écran ci-dessous provient d'une installation propre de 10.04LTS. Les détails à noter des premier et deuxième éléments entourés en jaune se trouvent dans la colonne "utilisé", qui affiche la mémoire et l’espace de permutation disponibles pour le système d’exploitation, c’est-à-dire qu’ils ne sont pas tous utilisés.
L'élément entouré en jaune dans le bas n'affiche aucune limite sur le nombre de processus utilisateur, par exemple gFTP ou une autre application, par exemple, que le système d'exploitation permettra à l'utilisateur de lancer.
Si vous le souhaitez, essayez ces étapes et faites un rapport ici avec tous les résultats.
Leland
Salut Dave,
Les résultats renvoyés par ps --sort -rss -eo rss, pid, command | head que vous avez posté montre que le processus gnome-panel utilise environ 1,8 Go de mémoire, ce qui semble un peu inhabituel - cela semble être une grande quantité de mémoire utilisée par l'environnement de bureau.
Vous pouvez obtenir une ventilation de la mémoire utilisée par le processus du gnome-panel en exécutant les commandes encerclées dans la capture d'écran ci-dessous et voir où tout cela se passe: peut révéler quelque chose qui se démarque.
À titre de comparaison, le processus de gnome-panel sur ma machine virtuelle utilise 48 Mo de RAM - bien que la machine 10.04 de ces machines screenshots est une machine virtuelle que j'utilise uniquement pour des tests et non pour mon propre bureau.
Cela étant dit, la prochaine étape consiste à isoler le problème en "quelque chose" dans l'environnement de bureau Gnome.
Pour tester cela, essayez d'installer l'espace de travail plasma KDE que vous trouverez dans le Centre logiciel Ubuntu.
Une fois installé, redémarrez votre ordinateur et connectez-vous avec une session KDE au lieu de Gnome, lancez vos applications du mieux que vous pouvez (le bureau est complètement différent) pour voir si l'erreur "Impossible d'allouer de la mémoire" se répète ici.
Pour que tout soit bien clair, vous pourrez exécuter les mêmes "tests" CLI dans un environnement KDE que dans l'environnement Gnome et pouvoir comparer les résultats en examinant le comportement de l'ordinateur entre les deux.
Dans KDE, l’application de console que vous recherchez est xterm , que vous pouvez trouver dans la boîte de dialogue Rechercher du menu principal.
Je vais mettre un peu de confiance ici et dire que je pense que nous sommes collectivement sur la bonne voie pour isoler le problème.
Leland
Si vous rencontrez ce problème en utilisant Ruby sur Rails avec Digital Ocean, c'est probablement parce que vous avez trop peu de RAM. Essayez d'augmenter le RAM de 512 Mo à 1 Go , cela a résolu le problème pour moi.