我正在测量通过 Docker 的原生覆盖网络连接的两个 Docker 容器之间的 UDP 吞吐量。我已经使用过,iperf
但也想用 来测量吞吐量nuttcp
。但是当我启动服务器实例然后启动客户端实例时,服务器实例崩溃并显示以下错误消息:Segmentation fault (core dumped)
。这是我启动服务器的方式:
nuttcp -S -u --nofork
以下是我启动客户端的方式:
nuttcp -u -T 115 10.0.0.3
启动客户端后,服务器实例直接崩溃。我使用相同的命令nuttcp
在 Docker 之外运行,没有任何问题。
以下是有关我正在使用的版本的一些附加信息:
# inside the container:
$ uname -a
Linux 310d92462ac0 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ nuttcp -V
nuttcp-6.1.2
# outside the container:
$ uname -a
Linux libAMS 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker -v
Docker version 1.10.3, build 20f81dd
有人知道如何解决这个问题吗?
答案1
该漏洞出现在 nuttcp 6.1.2 版本中,如需了解更多信息和修复,请阅读此链接https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745051
我的建议是使用新版本。
mkdir nuttcp
cd nuttcp/
wget http://nuttcp.net/nuttcp/beta/nuttcp-7.3.3.c
如果你没有 gcc
sudo apt-get install build-essential manpages-dev
编译程序并运行
cc nuttcp-7.3.3.c -o nuttcp-7
./nuttcp-7 –V
nuttcp-7.3.3