Recently I upgraded an OpenBSD amd64 server from 6.3 to 6.5 (rapidly passing through 6.4). This a monitoring server with a lot of processes that send "ping" (both ICMP and UDP) packets to a great number of hosts. So there is a great number of processes but they spend most of their time waiting (for packets to return).

Since the upgrade to 6.5 I have seen a GREAT increase in ping delays and variance. It seems that the system is much less "real-time" (yes, I know that OpenBSD is not a REAL real-time system).

I noticed that, when many processes are running, a lot of time is spent in "spin" state (even more than 50%).

Here it is an example of "top" output:

load averages:  5.98,  5.65,  5.82
350 processes: 68 running, 278 idle, 4 on processor
CPU0 states: 0.0% user, 6.7% nice, 42.3% sys, 39.4% spin, 1.0% intr, 10.6% idle CPU1 states: 1.0% user, 5.7% nice, 28.6% sys, 57.1% spin, 0.0% intr, 7.6% idle CPU2 states: 0.0% user, 1.9% nice, 24.8% sys, 61.0% spin, 0.0% intr, 12.4% idle CPU3 states: 1.9% user, 4.8% nice, 21.9% sys, 63.8% spin, 0.0% intr, 7.6% idle
Memory: Real: 6309M/8558M act/tot Free: 23G Cache: 1031M Swap: 0K/20G

Is this something "normal"?

Is there something I can do to return the system to be more responsive?
Where I have to direct my efforts?

Thanks.

Reply via email to