it-swarm.com.de

Warum erhalte ich häufig den Fehler "Speicher kann nicht zugeordnet werden"?

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 die Fehlermeldung Could not launch 'Program' - Failed to fork child process (Cannot allocate memory). Dies war bis in die letzten Wochen kein Problem.

cannot allocate memory

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 Menü GRUB verfügbaren memtest ausgeführt und er meldet keine Fehler. Ich denke also nicht, dass dies ein Hardwarefehler ist.

Ich habe auch Sudo apt-get check ausgeführt, 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:

Panel applets

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
29
Questioner

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.

3
Questioner

Bei einem Prozess geht Speicher verloren. Um eine Vorstellung davon zu bekommen, welcher Prozess dies sein könnte, führen Sie Folgendes aus

ps --sort -rss -eo rss,pid,command | head
33
jdthood

Ich schlage vor, Sie starten den Fehlerbehebungsprozess, indem Sie das RAM mit dem integrierten Dienstprogramm im Startmenü GRUB testen und "fehlerhaften RAM" als Ursache des Problems beseitigen.

Gedächtnistest Memory test

Memtest86 + 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 aus, wenn Fehler gefunden werden: Sudo apt- Holen Sie sich check -f , um zu versuchen, 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 von einer Terminal-Eingabeaufforderung aus:

Anzeige der freien und belegten Speicherkapazität

frei -m

Zusammenfassung der Swap-Nutzung anzeigen

swapon -s

Ressourcenlimits für Benutzerprozesse anzeigen

ulimit -a

Der Screenshot unten stammt aus einer Neuinstallation von 10.04LTS. Die Einzelheiten des ersten und des zweiten gelb eingekreisten Elements befinden sich in der Spalte "used" (Verwendet), in der der für das Betriebssystem verfügbare Speicher und Auslagerungsspeicher angezeigt werden, d. H., Sie sind nicht alle belegt.

Das untere gelb eingekreiste Element zeigt keine Begrenzung der Anzahl von Benutzerprozessen an, d. H. 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

Memory usage and process resource limits


Hallo Dave,

Die Ergebnisse werden von zurückgegeben. Ps --sort -rss -eo rss, pid, command | head , den Sie gepostet haben, 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 beanspruchen.

Sie können eine Aufschlüsselung des Speichers erhalten, den der Gnome-Panel -Prozess verwendet, indem Sie die eingekreisten Befehle im folgenden Screenshot ausführen und sehen, wohin es geht - das kann etwas Auffälliges aufdecken .

Zum Vergleich: Der Gnome-Panel -Prozess auf meiner virtuellen Maschine verbraucht 48 MB RAM - allerdings ist die 10.04-Maschine in diesen Screenshots eine virtuelle Maschine I benutze ich nur zu Testzwecken und nicht meinen eigenen Desktop.

pmap from gnome-panel process

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.

kde-plasma desktop environment

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.

xterm pid and pmap for plasma-desktop

Ich werde hier ein wenig Selbstvertrauen einbringen und sagen, dass wir zusammen auf dem richtigen Weg sind, um das Problem einzugrenzen.

Leland

19
Leland Kristie

Wenn Sie dieses Problem haben, indem Sie Ruby auf Rails mit Digital Ocean verwenden, liegt das wahrscheinlich daran, dass Sie über zu wenig RAM verfügen. Versuchen Sie, das RAM von 512 MB auf 1 GB zu erhöhen , das hat es für mich behoben.

1
Glenn Dayton