在Linux系统中系统的负载也是测试性能的一个重要的指标,可以通过uptime、top、w命令分析系统的负载;
uptime
uptime命令主要用于获取主机运行时间和查询linux系统负载等信息;
1)系统的运行时间越长,表明系统越稳定,当然也可以从当前运行时间看出系统是否被重启过;
2)可以知道当前系统有多少登录用户数;
3)系统的平均负载的意思是指在特定时间间隔内运行队列中的平均进程数;
每个CPU内核的当前活动进程数(以x表示)
|
x<=0.8
|
表明系统是空闲的
|
1<x<=3
|
表明系统是正常的
|
|
x>5
|
表明系统有问题
|
|
x>15
|
表明系统负载很严重
|
top
top命令类似于Windows系统的任务管理器。它能够提供所有正在运行的进程和系统的系统负载、CPU分布、内存使用、每个进程的内存使用情况等信息;
-
任务队列
相当于uptime命令;
-
进程状态
Tasks — 任务(进程),系统现在共有139个进程,其中处于运行中的有1个,138个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
top命令-5种状态的详解
D
|
不可中断的睡眠态 Uninterruptible sleep,通常出现在IO阻塞
|
R
|
运行态 running or runnable
|
S
|
睡眠状 interruptible sleep
|
T
|
被跟踪或已停止 stopped |
Z
|
僵尸态 process
|
-
CPU状态信息
CPU(s):表示当前CPU的平均值。默认显示的是平均值,
按下键盘“1”可查看各个逻辑CPU的使用情况
CPU状态信息中各个字段的详细解释
CPU中的各个字段
|
详细信息
|
查询列表中展示的字段的含义
|
us |
user: 运行(未调整优先级的) 用户进程的CPU时间
|
0.0%us
|
sy
|
system: 运行内核进程的CPU时间
|
0.3%sy
|
ni
|
niced:运行已调整优先级的用户进程的CPU时间
|
0.0%ni
|
id
|
空闲CPU百分比
|
99.7%id
|
wa
|
IO wait: 用于等待IO完成的CPU时间
|
0.0%wa
|
hi
|
处理硬件中断的CPU时间
|
0.0%hi
|
si
|
处理软件中断的CPU时间
|
0.0%si
|
st
|
这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
|
0.0%st
|
***需要注意的是:
1)id持续过低的时候迫切需要解决CPU资源问题;
2)wa使用率过高时,要考虑io性能是否有瓶颈;
3)hi使用率过高时,表示当前硬件中断占用很大的百分比;
-
内存信息
内存信息中各个字段的详细信息
MEM
|
404572k total
|
物理内存的总量
|
286456k used
|
使用的物理内存总量
|
|
208116k free
|
空闲的物理内存总量
|
|
34772k buffers
|
用作缓存的内存总量
|
|
SWAP
|
4095992k total
|
交换区内存总量
|
0k used
|
使用的交换区总量
|
|
4095992k free
|
空闲交换区总量
|
|
75588k cached
|
缓冲的交换区的内存总量
|
监控内存可以通过free命令;drop cache可以释放出buffer和cache的内存
***几个很重要的公式:
物理内存总数: Mem_total=Mem_used+Mem_free
实际使用的物理内存数:-buffers/cache=used-buffers-cache
实际可用的物理内存数:+buffers/cache=free+buffers+cache
交换分区对应的内存总数:Swap_total=swap_used+swap_free
-
进程信息
PID:进程ID,进程的唯一标识符
USER:进程所有者的实际用户名。
PR:进程的调度优先级。这个字段的有一些值是'rt'。这意味这这些进程运行在实时态。
NI:进程的nice值(优先级)。
越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:SHR是进程使用的共享内存。共享内存大小,单位kb
S:这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比,表示的是进程所占用的CPU的百分比,通过这个可以得出进程的CPU利用率;
%MEM:进程使用的可用物理内存百分比。
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)
还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。
有关top的其他使用技巧
-
间隔刷新:top+键 盘"d";
-
添加进程字段显示列:top+键盘“f”,在弹出的列表中选择对应的字母就可以展示字母对应的那一列;
-
保存配置:top+"W";