Ich benutze Ubuntu 12.10 mit Gnome-Classic. Ich erhalte diesen Fehler häufig und mit fast allen Programmen, groß und klein. Wenn ich versuche, sie zu öffnen, werden sie nicht gestartet. Stattdessen erhalte ich eine Fehlermeldung mit der Aufschrift Could not launch 'Program' - Failed to fork child process (Cannot allocate memory)
. Dies war bis in die letzten Wochen kein Problem.
Ich kann keine Gemeinsamkeiten zwischen den Programmen erkennen, die diesen Fehler verursachen. Es scheint eher eine Frage der Zeit zu sein. Nachdem mein Computer eine Weile gelaufen ist, von einem Tag bis zu einigen Tagen, kann ich scheinbar keine neuen Programme starten.
Die einzige Möglichkeit, diesen Fehler zu verhindern, besteht darin, den Computer neu zu starten.
Warum erhalte ich diesen Fehler und wie kann ich verhindern, dass er auftritt?
Ich habe den im GRUB-Menü verfügbaren memtest ausgeführt und er meldet keine Fehler. Ich denke also nicht, dass dies ein Hardwarefehler ist.
Ich lief auch sudo apt-get check
, und es wurden keine Fehler gefunden.
Hier ist eine angeforderte Befehlszeilenausgabe:
$ 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
Dies ist die Ausgabe von, ps --sort -rss -eo rss,pid,command | head
nachdem der Fehler aufgetreten ist:
$ 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
Aufgrund der Vorschläge in den Kommentaren und Antworten scheint es möglich, dass das Problem beim Gnome-Bedienfeld oder dessen Applets liegt. Hier sind die Applets, die ich ausgeführt habe:
Die Applets sind Indicator Applet 12.10.1
, System Monitor 3.5.92
und ein "Benachrichtigungsbereich". und "Datum und Uhrzeit", für die ich auf die Versionsnummer nicht zugreifen kann.
Hier ist eine weitere angeforderte Befehlszeilenausgabe:
$ 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
quelle
memtest
? Fehler treten oft nur in späteren Tests auf.memtest
laufen lassen , bis am unteren Bildschirmrand eine Meldung angezeigt wurde, dass alle Tests abgeschlossen waren.Antworten:
Bei einem Prozess geht Speicher verloren. Um eine Vorstellung davon zu bekommen, welcher Prozess dies sein könnte, führen Sie Folgendes aus
quelle
Ich schlage vor, Sie starten den Fehlerbehebungsprozess, indem Sie den Arbeitsspeicher mit dem im GRUB-Startmenü enthaltenen integrierten Dienstprogramm testen und "fehlerhaften Arbeitsspeicher" als Ursache des Problems beseitigen.
Gedächtnistest
Memtest86 +
Überprüfen Sie als Nächstes Ihr System mit sudo apt-get check auf defekte Abhängigkeiten von einem Terminal und führen Sie den Befehl erneut als sudo apt-get check -f aus , um sie zu korrigieren.
Wenn Sie möchten, versuchen Sie diese Schritte und melden Sie sich hier mit irgendwelchen Ergebnissen.
Leland
Hallo Dave,
Ok dann - wir haben die Hardware als Ursache des Problems ausgeschlossen.
Als Nächstes untersuchen wir die Speichernutzung und die Prozesseinstellungen auf Ihrem Computer. Führen Sie diese Befehle an einer Terminal-Eingabeaufforderung aus:
Zeigt die Menge des freien und verwendeten Speichers an
frei -m
Zusammenfassung der Auslagerungsnutzung anzeigen
Swapon -s
Ressourcenlimits für Benutzerprozesse anzeigen
ulimit -a
Der Screenshot unten stammt aus einer Neuinstallation von 10.04LTS. In der Spalte "used" (Verwendet) sind die Angaben aus dem ersten und dem zweiten gelb eingekreisten Element aufgeführt, die den für das Betriebssystem verfügbaren Speicher und Auslagerungsspeicher anzeigen, dh, sie sind nicht alle belegt.
Das untere gelb eingekreiste Element zeigt keine Begrenzung der Anzahl von Benutzerprozessen an, z. B. gFTP oder eine andere Anwendung, die das Betriebssystem dem Benutzer ermöglicht, ausgeführt zu werden.
Wenn Sie möchten, versuchen Sie diese Schritte und melden Sie sich hier mit irgendwelchen Ergebnissen.
Leland
Hallo Dave,
Die Ergebnisse wurden von ps --sort -rss -eo rss, pid, command | zurückgegeben head, den du gepostet hast, zeigt den Gnome-Panel-Prozess mit ungefähr 1,8 GB Speicher, was ein wenig ungewöhnlich erscheint - das scheint, als würde die Desktop-Umgebung viel Speicher verbrauchen.
Sie können eine Aufschlüsselung des Arbeitsspeichers erhalten, den der Gnome-Panel- Prozess verwendet, indem Sie die eingekreisten Befehle in der Abbildung unten ausführen und sehen, wo alles hingeht.
Zum Vergleich: Der Gnome-Panel- Prozess auf meiner virtuellen Maschine verwendet 48 MB RAM - obwohl die 10.04-Maschine in diesen Screenshots eine virtuelle Maschine ist, die ich nur für Tests verwende und nicht für meinen eigenen Desktop.
In Anbetracht dessen werde ich als nächsten Schritt vorschlagen, das Problem auf "etwas" in der Gnome-Desktop-Umgebung zu beschränken.
Um dies zu testen, installieren Sie den KDE-Plasma-Arbeitsbereich, den Sie im Ubuntu Software Center finden.
Starten Sie nach der Installation Ihren Computer neu und melden Sie sich mit einer KDE-Sitzung anstelle von Gnome an. Führen Sie Ihre Anwendungen so gut wie möglich aus (der Desktop ist völlig anders), um festzustellen, ob sich der Fehler "Speicher kann nicht zugewiesen werden" hier wiederholt.
Um es klar auszudrücken, können Sie in einer KDE-Umgebung dieselben CLI- "Tests" ausführen wie in der Gnome-Umgebung und die Ergebnisse bei der Untersuchung des Computerverhaltens zwischen beiden vergleichen.
In KDE suchen Sie nach der Konsolenanwendung xterm, die Sie im Dialogfeld "Suchen" im Hauptmenü finden.
Ich werde hier ein wenig Selbstvertrauen einbringen und sagen, dass wir zusammen auf dem richtigen Weg sind, um das Problem einzugrenzen.
Leland
quelle
apt-get
Ihnen vorgeschlagenen Befehle ausgeführt und beide haben keine Fehler gemeldet. Ich habe meine Frage entsprechend aktualisiert.max user processes
nicht steht,unlimited
wie bei Ihnen. Meins hat die Nummer31421
.pmap
Befehl aus und poste die Ausgabe hier. Ich habe auch ein wenig nach Informationen gesucht und festgestellt, dass es einige Erwähnungen von Speicherlecks im Gnome-Panel gibt. Das scheint also ein wahrscheinlicher Verdacht zu sein.Nachdem ich in den letzten Tagen mit dem Ein- und Ausschalten experimentiert habe, bin ich zuversichtlich, dass das Problem ein Speicherverlust im Wetteranzeigeteil des Zeit- und Datums-Applets war. Wenn das Wetter angezeigt wird, nimmt die Speichernutzung mit der Zeit zu. Wenn das Wetter nicht angezeigt wird, nimmt der Speicher nicht zu.
Ich denke, dies ist ein Fehler mit der Wetteranzeige, der gemeldet werden sollte, aber das Melden von Fehlern auf dem Launchpad ist für mich ein viel zu umständlicher Prozess.
quelle
Wenn Sie dieses Problem bei der Verwendung von Ruby on Rails mit Digital Ocean haben, liegt dies wahrscheinlich daran, dass Sie über zu wenig RAM verfügen. Versuchen Sie, den RAM-Speicher von 512 MB auf 1 GB zu erhöhen. Das hat es für mich behoben.
quelle