1.安装sysbench工具

sysbench工具是模拟系统异常情况,系统级的压测工具,直接作用于系统。

命令:apt-get install sysbench 

2.模拟多线程切换

命令:sysbench --num-threads=10 --max-time=300 --max-requests=10000000 --test=threads run

如图:

再开第二个终端。

使用vmstat 2 (每两秒统计一次)命令查看CPU系统的资源使用情况,如图:

通过上图可以看出我们的CPU很空闲,id-->cpu等待时间 ;sy的值非常的高,sy-->系统的使用率;cs的状态及其高,cs-->上下文切换的次数 ;in的状态也高,in-->每秒中断的次数。

再开第三个终端。可以发现我们进入系统很慢很慢

使用命令:ps aux (查看进程情况)如图:

可以发现CPU的占用率不高,但是系统特别的慢。

使用命令:uptime (查看系统负载)如图:

可以看出系统的负载非常大。

使用命令:pidstat -wt -u 3 查看线程使用时间,如图:

可以看出sysbench线程的cswch/s的值非常的高。(

1.cswch: 自愿上下文切换,是指进程无法获取所需资源,导致的上下文切换。比如说, I/O、内存等系统资源不足时,就会发生自愿上下文切换。

2.nvcswch: 非自愿上下文切换,则是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。。比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换。)

通过上面可以看出sysbench导致了大量的上下文切换。

posted on 2019-07-23 22:06  清风不问烟雨&  阅读(541)  评论(0)    收藏  举报