vmstat 1 100
procs ----------- memory ---------- --- swap-- ----- io ---- --system-- --- --cpu -----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 2307452 283392 712136 0 0 2 2 17 21 0 1 99 0 0
3 0 0 2307436 283392 712136 0 0 0 0 10677 3455 21 43 35 0 0
4 0 0 2307436 283392 712136 0 0 0 0 10700 3620 22 42 36 0 0
3 0 0 2307436 283392 712136 0 0 0 0 10549 3523 21 43 36 0 0
pidstat -I -w -p 3809 2
PID cswch / s nvcswch / s命令
3809 0.00 0.00 java
3809 0.00 0.00 java
3809 0.00 0.00 java
我正在进行压力测试。服务器程序是WebSocket服务器,可接受10,000个客户端连接。每个客户端连接每2秒向服务器发送一条消息,服务器每2秒向每个客户端发送一条消息。
我的问题是:
1)从 vmstat 1 100 ,似乎cpu(sy是42%,我们是21%左右)正在做很多系统级工作而不是用户级工作。所以我认为CPU的上下文切换太多了。
但是,从 pidstat , cswch / s 和 nvcswch / s 对于服务器程序都是0。我认为这个结果意味着没有太多的CPU上下文切换。
有人可以帮忙解释一下Linux服务器监控结果吗?
答案 0 :(得分:0)