一般我们在进行性能分析、优化或调优之前,必不可少要进行性能监控。一种是操作系统的监控,一种是应用层面的监控,本篇讨论在操作系统层面的监控。
那么操作系统常见的性能指标都有哪些?
- CPU利用率
- CPU调度运行队列长度
- 上下文切换
- 内存使用率
- 磁盘IO使用率
CPU利用率
在Linux系统上,CPU利用率主要分成两个部分:用户态利用率、系统态利用率
- 用户态利用率(us) = 执行应用程序代码的时间 / 总cpu时间
- 系统态利用率(sy) = 执行操作系统调用的时间 / 总cpu时间
怎么查看?
vmstat -w 1
mpstat -P ALL 1
top
为了尽可能的压榨CPU,使用户利用率达到最大化,我们应尽量使操作系统利用率为0%,也就是说应尽量减少应用程序对操作系统的调用,从而相对相对提升应用程序使用CPU的比例