Flarging big FFTs

I can’t use FFTs larger than about 180000 bins without getting “shared
memory allocation” errors in Gnu Radio.

Is there an easy fix for this?

For SETI work, being able to (for example) compute an 8 million point
FFT for an 8Msps signal gives you 1Hz
resolution. But I can’t seem to get anywhere near this without the
allocator griping at me.


Marcus L.
Principal Investigator, Shirleys Bay Radio Astronomy Consortium

On Fri, Jan 23, 2009 at 01:01:24PM -0500, Marcus D. Leech wrote:

I can’t use FFTs larger than about 180000 bins without getting “shared
memory allocation” errors in Gnu Radio.

Is there an easy fix for this?

For SETI work, being able to (for example) compute an 8 million point
FFT for an 8Msps signal gives you 1Hz
resolution. But I can’t seem to get anywhere near this without the
allocator griping at me.

Hi Marcus,

You need to bump up the shared memory maximum segment size.
You can do this with the sysctl command. On some systems there’s also
an /etc/sysctl.conf file. The defaults appear to depend on your
distribution. The parameter you want to increase is kernel.shmmax.

[eb@cyan trunk]$ sudo sysctl -a | grep shm
kernel.shmmax = 268435456
kernel.shmall = 2097152
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0

The output above is from an x86 Fedora 9 system. It’s pretty big by
default.

See also

$ man sysctl
$ man sysctl.conf

11381 – Configurability of shmmax in containers

Eric