确定性能问题
OS 诊断
先考察Linux操作系统上显示的性能指标,主要关注CPU、Memory、I/O三方面:
CPU 诊断
主要考察CPU的负载均值(Load Average), CPU 使用率,上下文切换次数(Context Switch)。
top命令–查看平均负载和CPU使用率
直接输入top,进入基本视图
第一行: 这里使用uptime命令也能看到同样的数据
10:01:23 当前系统时间
126 days, 14:29 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 这三个数分别是1分钟、5分钟、15分钟的负载情况。
负载均值就好比行车过桥的车流量
0.00 表示桥面上没有车流,0.00~1.00之间表示很通畅
1.00 表示刚好在桥的承受范围内,不过之后就会越来越堵,越大越糟糕。
0.70 这是理想的值
5.00 这个值出现时就要失眠了,然后等着做报告吧
第二行:任务
Tasks 任务(进程),总共x个,运行中x个,休眠x个,停止x个,僵尸x个
第三行:CPU使用率
6.7% us 用户空间占用CPU的百分比。
0.4% sy 内核空间占用CPU的百分比。
0.0% ni 改变过优先级的进程占用CPU的百分比
92.9% id 空闲CPU百分比
0.0% wa IO等待占用CPU的百分比
0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si 软中断(Software Interrupts)占用CPU的百分比
第四行:内存
8306544k total 物理内存总量(8GB)
7775876k used 使用中的内存总量(7.7GB)
530668k free 空闲内存总量(530M)
79236k buffers 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total 交换区总量(2GB)
2556k used 使用的交换区总量(2.5M)
2029052k free 空闲交换区总量(2GB)
4231276k cached 缓冲的交换区总量(4GB)
第四行的used内存总量是纳入内核管理的内存总量,并不是真正在用的,内核不会把