[linux-mm-cc] compcache fills vmalloc memory

Nitin Gupta nitingupta910 at gmail.com
Tue Feb 26 11:35:06 EST 2008


On Tue, Feb 26, 2008 at 8:38 PM, John McCabe-Dansted <gmatht at gmail.com> wrote:
> Hi, I get the following error:
>   xp at 7.10:~/bin$ sudo modprobe loop
>   FATAL: Error inserting loop
>  (/lib/modules/2.6.22-14-generic/kernel/drivers/block/loop.ko): Cannot
>  allocate memory
>   xp at 7.10:~/bin$ sudo umount compcache
>   umount: compcache: not found
>   xp at 7.10:~/bin$ sudo rmmod compcache
>   ERROR: Module compcache is in use
>   xp at 7.10:~/bin$ sudo swapoff compcache
>   swapoff: compcache: No such file or directory
>   xp at 7.10:~/bin$ sudo swapoff /dev/compcache
>   xp at 7.10:~/bin$ sudo modprobe loop
>
>  The following appears to be the line in the syslog relating to why
>  loop wouldn't load:ko): Cannot allocate memory
>  allocation failed: out of vmalloc space - use vmalloc=<size> to increase size
>
>  They syslog was also filled with errors like the following:
>  Feb 26 21:09:06 ubuntu-xp kernel: [196046.926003] allocation failed:
>  out of vmalloc space - use vmalloc=<size> to increase size.
>  Feb 26 21:09:06 ubuntu-xp kernel: [196046.926009] compcache: Error
>  allocating memory for compressed page: 20631, size=2893
>  Feb 26 21:09:06 ubuntu-xp kernel: [196046.926015] Write-error on
>  swap-device (254:0:165056)
>  allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
>  compcache: Error allocating memory for compressed page: 20632, size=3195
>  Feb 26 22:37:36 ubuntu-xp kernel: [201352.547315] Write-error on
>  swap-device (254:0:165064)
>
>  --
>  John C. McCabe-Dansted
>  PhD Student
>  University of Western Australia


This is a limitation of compcache - If kernel reserved virtual address
space (vmalloc area) gets exhausted, it will throw out these error
even if plenty of physical memory is available.

If you really want bigger compcache, you can try one of these:
- As error message suggests, use "vmalloc=<size>" boot param to
increase this area.
- Use 2G/2G user/kernel split (default is 3G/1G) - I'm not sure how to do this.

Also, what size did you set for compcache? and amount of physical RAM?
This info is missing from log you provided.

Thanks,
Nitin


More information about the linux-mm-cc mailing list