Yesterday I blogged about iperf, CentOS and monit. Well, it turns out it was a bit early to report success. Even with monit, iperf is inherently unstable on CentOS. Monit's log shows this:
[CET Dec 21 11:26:14] error : 'iperf' process with pid 20557 is a zombie
[CET Dec 21 11:26:14] error : 'iperf' failed, cannot open a connection to INET[127.0.0.1:5001] via TCP
[CET Dec 21 11:26:14] info : 'iperf' trying to restart
[CET Dec 21 11:26:14] info : 'iperf' stop: /etc/init.d/iperfd
[CET Dec 21 11:26:44] error : 'iperf' failed to stop
[CET Dec 21 11:27:44] error : 'iperf' process with pid 20557 is a zombie
[CET Dec 21 11:27:44] error : 'iperf' failed, cannot open a connection to INET[127.0.0.1:5001] via TCP
[CET Dec 21 11:27:44] info : 'iperf' trying to restart
[CET Dec 21 11:27:44] info : 'iperf' stop: /etc/init.d/iperfd
[CET Dec 21 11:28:14] error : 'iperf' failed to stop
[CET Dec 21 11:29:14] error : 'iperf' process with pid 20557 is a zombie
And ps shows iperf is defunct. This is obviously a bad situation. When I run iperf without -D parameter, it responds one time and then shuts down. But I couldn't get this behaviour to work with iperfd and monit properly. For the record, I used "iperf version 2.0.4 (7 Apr 2008) pthreads".
So in the end I resorted to use iperf on a Windows box and run it as a service. So far there have been no problems.