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.