33

I'm using Ubuntu 12.10 with Gnome-Classic. I am getting this error frequently and with almost all programs, big and small. When I try to open them, they don't start, and instead I get an error message that says Could not launch 'Program' - Failed to fork child process (Cannot allocate memory). This wasn't a problem until within the last few weeks.

cannot allocate memory

I can not discern any commonality among the programs that cause this error. It seems to be more a matter of time. After my computer has been running for a while, anywhere from a day to a few days, then I can't seem to start any new programs.

The only way I know to prevent this error is to reboot the computer.

Why am I getting this error and what do I do to stop it happening?


I ran the memtest available from the GRUB menu, and it reports no errors, so I don't think this is a hardware failure.

I also ran sudo apt-get check, and no errors were found.

Here is some requested command line output:

$ 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

This is the output of ps --sort -rss -eo rss,pid,command | head after the error starts showing up:

$ 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

Based on suggestions in the comments and answers, it seems possible the problem is with the Gnome Panel or its applets. Here are the applets I have running:

Panel applets

The applets are Indicator Applet 12.10.1, System Monitor 3.5.92, and a "notification Area". and "date and time", neither of which I can access the version number for.

Here is some more requested command line output:

$ 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
mythbuntu@192.168.0.4:/home/mythbuntu  437G  360G   55G  87% /home/dave/Mythbuntu
$ sudo du -csh /var/log
15M /var/log
15M total
Anwar
  • 77,855
Questioner
  • 6,959

4 Answers4

37

Some process is leaking memory. To get an idea of which process this might be, run

ps --sort -rss -eo rss,pid,command | head
jdthood
  • 12,625
19

I suggest you start the troubleshooting process by testing the RAM with the built-in utility provided in the GRUB boot menu and eliminate "bad RAM" as a source of the problem.

Memory test Memory test

Memtest86+ Memtest86+

Next, check your system for broken dependencies from a terminal with sudo apt-get check and, if errors are found, rerun the command as sudo apt-get check -f to try and correct them.

If you please, try these steps and report back here with any results.

Leland


Hi Dave,

Ok then - we've ruled out the hardware as a source of the problem.

Next, let's examine memory usage and process settings on your computer; run these commands from a terminal prompt:

Display amount of free and used memory

free -m

Display swap usage summary

swapon -s

Display user-process resource limits

ulimit -a

The screenshot below is from a clean installation of 10.04LTS. The particulars to note from the first and second yellow-circled items are in the "used" column, which display memory and swap space available for the operating system to use, i.e., they're not all used up.

The bottom yellow-circled item displays no limits on the number of user-processes, i.e. gFTP or other application for example, that the operating system will permit the user to run.

If you please, try these steps and report back here with any results.

Leland

Memory usage and process resource limits


Hi Dave,

The results returned from ps --sort -rss -eo rss,pid,command | head you have posted show the gnome-panel process using roughly 1.8GB of memory which seems a little unusual - that seems like a lot of memory for the Desktop Environment to be using.

You can get a breakdown of the memory the gnome-panel process is using by running the circled commands in the screenshot below and see where it's all going - that may reveal something that stands out.

For comparison, the gnome-panel process on my virtual machine is using 48MB of RAM - granted though, the 10.04 machine in these screenshots is a virtual machine I'm using for tests only and not my own desktop.

pmap from gnome-panel process

Given that, I'll put forward the next step is to isolate the problem to "something" in the Gnome desktop environment.

To test this, try installing the KDE plasma workspace which you'll find in the Ubuntu Software Centre.

kde-plasma desktop environment

Once it's installed, reboot your computer and login with a KDE session instead of Gnome, run your applications as best you can (the desktop is completely different) to see if the "Cannot allocate memory" error repeats itself here.

Simply to be clear, you'll be able to run the same CLI "tests" in a KDE environment as we've done in the Gnome environment and be able to compare results in examining the computer's behaviour between the two.

In KDE, the console application you'll be looking for is xterm which you can find from the Search dialog on the main menu.

xterm pid and pmap for plasma-desktop

I'm going to throw in a little confidence here and say I think we're collectively on the right track to isolating the problem.

Leland

4

After experimenting with having it on and off over the last couple of days, I'm confident in now saying that the problem was a memory leak in the weather indicator portion of the time and date applet. When the weather is displaying, the memory usage increases over time. When the weather is not displaying the memory does not increase.

I guess this is a bug with the weather indicator that should be reported, but reporting bugs on Launchpad is far too convoluted a process for me to undertake.

Questioner
  • 6,959
1

If you're having this issue using Ruby on Rails with Digital Ocean it's likely because you have too little RAM. Try upping the RAM from 512MB to 1GB, that fixed it for me.