I'm working with GNURadio, and working with stream tags (using stream tagging to create a burst transmitter), but my flowgraph won't run with around ~200 stream tags, citing error below.
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::buffer::allocate_buffer: failed to allocate buffer of size 1250000 KB
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::vmcircbuf_sysv_shm: shmget (1): Invalid argument
gr::buffer::allocate_buffer: failed to allocate buffer of size 1250000 KB
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)
However, sysctl --all | grep shm outputs
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 32147483648
kernel.shmmax = 32147483648
kernel.shmmni = 16777216
This means I should have 32 GB in shared memory, correct? I set kernel.shmall and shmmax via
sudo sysctl kernel.shmall=32147483648
sudo sysctl kernel.shmmax=32147483648
The only thing that concerns me is cat /proc/meminfo | grep shmem returns
Shmem: 42556 kB
Is there a better way to increase shared memory?