平均负载:
单位时间内处于可运行和不可中断状态(D状态)的进程数,即活跃进程数。
查看:uptime
平均负载与CPU使用率
平均负载与CPU使用率在集中情况下的比较关系几个常用命令:
watch——监视命令输出的变化 watch -d uptime
stress——系统压力测试工具
--cpu:模拟cpu密集型
-c:模拟多进程情况
-i:模拟I/O密集型
mpstat——多核CPU性能分析工具
pidstat——多进程性能分析工具
-t:查看线程指标(默认只显示进程指标)
上下文切换的几种情况:
1.进程上下文切换:
虚拟内存、栈、全局变量等用户空间资源 和 内核堆栈、寄存器等内核空间资源都要切换。
2.线程上下文切换:
第一种情况:进程间的线程切换-->进程上下文切换
第二种情况:同进程内的线程切换-->只切换线程私有数据和寄存器
3.中断上下文切换:
从正在执行的用户空间切换到内核空间执行中断处理程序。
上下文切换的性能分析:
vmstat——系统性能分析工具
cs列是上下文切换次数(context switch)
us列是用户态cpu使用率
sy列是系统cpu使用率
cswch:自愿上下文切换数(等待外部资源或主动sleep)
nvcswch:非自愿上下文切换数(被抢占、中断、时间片到期等)
cat /proc/interrupts
该文件可查看中断变化数量
RES是 重调度中断(例如:从cpu0队列中拿取一个任务放到目前空闲的cpu1的队列中)
分析:
自愿上下文切换变多:进程都在等待外部资源(比如I/O密集)
非自愿上下文切换变多:进程都在争夺cpu(就绪态的进程变多了,每个进程分得的时间片就变少,切换更频繁)
中断次数变多:要根据/proc/interrupts文件来分析
网友评论