LINUX查看指定进程的Context Switch上下文切换:pidstat
Context Switch(CS)上下文切换是cpu性能中的一个重要指标,context switch过高会导致CPU像个搬运工,频繁在寄存器和运行队列之间奔波 ,更多的时间花在了线程切换,而不是真正工作的线程上。
linux中一般使用vmstat监控系统上下文切换,pidstat监控指定进程的上下文切换。
pidstat监控指定进程的Context Switch上下文切换:
首先安装sysstat:yum install sysstat //使用的是fedora,ubuntu/debian使用apg-get
pidstat -w -G testp 1 10 //根据进程名监控上下文切换
pidstat -w -p 48863 1 10 //根据PID监控上下文切换
平均时间: UID PID cswch/s nvcswch/s Command
平均时间: 0 48770 2.53 2.78 testp
cswch/s: 每秒任务主动(自愿的)切换上下文的次数,当某一任务处于阻塞等待时,将主动让出自己的CPU资源。
nvcswch/s: 每秒任务被动(不自愿的)切换上下文的次数,CPU分配给某一任务的时间片已经用完,因此将强迫该进程让出CPU的执行权。
多处理器时添加-I参数,显示各个cpu的使用率,如pidstat -w -I -G testp 1 10
发表评论