0
I'm trying to print to my Brother MFC-7820N via network printing on a Pogoplug with Arch Linux ARM installed on it. I'm using the BRScript3 CUPS driver that came in the distribution. When I try to print at 300 dpi, the print job processes forever but never returns an error or prints. When I switch to 600 dpi, the printer prints an error message and the CUPS log says this:
W [26/Nov/2013:22:00:06 -0600] [cups-driverd] Unable to execute "/usr/lib/cups/driver/foomatic": Cannot allocate memory
W [26/Nov/2013:22:00:06 -0600] [cups-driverd] Unable to execute "/usr/lib/cups/driver/gutenprint.5.2": Cannot allocate memory
The print job status within the CUPS web interface is "Filter failed."
Given that my system is a little embedded device, I might suspect the system doesn't have enough RAM to do the job, but about half the system memory (at least 55MB and sometimes quite a bit more) is free. Is it really a RAM issue? Is there any way to get around this issue? I don't have a swap drive since I'm running the system off of a USB flash drive.
UPDATE: The output of free is:
[root@alarm ~]# free
total used free shared buffers cached
Mem: 121924 50736 71188 0 9704 23568
-/+ buffers/cache: 17464 104460
Swap: 0 0 0
I know it is a bad idea, but I tried adding a swap image on the USB flash drive. That prevented the aforementioned error from occurring, but the device simply froze up.
thanks @wingedsubmariner, I didn't know about
overcommit_memory
, that solved my problem withCUPS
in a RPi. – gipi – 2015-08-12T20:03:18.760About half should be ~256MB for that 512MB device. What is the output of
free
? It is the-/+ buffers/cache
line that you want. – wingedsubmariner – 2013-11-27T04:44:13.483Thanks, @wingedsubmariner. I've posted it above. This is a Series 4 device; it only has 128MB of RAM. – Timothy R. Butler – 2013-11-27T04:51:59.767
1Man, I think that was how much RAM my first Linux desktop had (well before CUPS!). That really does look like an out of memory issue. You could try setting up a swap, at least to test, or you could try turning on memory overcommit (run
echo 1 > /proc/sys/vm/overcommit_memory
). Note that with overcommit Linux will allow processes to ask for as much memory as they want but will start killing them when it runs out - this is likely to cause system instability. – wingedsubmariner – 2013-11-27T05:06:13.857