2

使用 gnuradio 3.7 块运行 Python 脚本时,我目前遇到以下错误:

> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::buffer::allocate_buffer: failed to allocate buffer of size 64 KB
> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::vmcircbuf_sysv_shm: shmget (2): No space left on device
> gr::buffer::allocate_buffer: failed to allocate buffer of size 64 KB
> terminate called after throwing an instance of 'std::bad_alloc'  
> what():  std::bad_alloc Aborted (core dumped)

我已按照此处的建议进行操作:http: //osdir.com/ml/discuss-gnuradio-gnu/2013-06/msg00521.html并更改了 kernel.shmall 和 kernel.shmmax 值。

但是什么是可接受的值?我将它们增加了 8 倍,但没有成功。

更多信息:我正在循环启动和停止 gnuradio pythons 链。每次,我停止一个图表,记忆很好。我有 6 个 CPU 和 24 GB 的 RAM。

最好的,克里斯

4

1 回答 1

2

我们已经在邮件列表中解决了这个问题,请阅读下面的帖子。长话短说:GNU Radio 将共享内存用于其循环缓冲区,在某些情况下,您可能会用完这些缓冲区的句柄,从而导致出现此错误。做

sudo sysctl kernel.shmmni=32000

解决你的问题?

http://lists.gnu.org/archive/html/discuss-gnuradio/2014-11/msg00292.html

问候,马库斯

于 2015-01-08T15:03:57.490 回答