linux 主机状态监控---top命令详解

1.简介

用jmeter进行性能测试的时候,经常会使用top 命令来实时查看服务器的当前负载量,CPU占用率,内存占用率等信息,接下来详细讲解一下top命令的使用。

2. top命令输出结果解析

直接在终端输入top命令后,会显示如下信息:
在这里插入图片描述
top命令显示的信息比较多,主要分为两部分:

  • 第一部分:前5行,是系统整体的统计信息,包括负载、cpu、内存的信息
  • 第二部分:光标及以下信息,显示的是进程信息

1. 整体统计信息

第一行

top - 10:28:42 up  4:43,  2 users,  load average: 0.83, 0.61, 0.50
  • top:命令名称
  • 10:28:42 :当前系统时间为10:28:42
  • up:机器运行了多长时间,当前已经运行了4min 43s
  • 2 users:2个用户登录
  • load average: 0.83, 0.61, 0.50:系统负载,表示在一段时间内,CPU正在处理以及等待CPU处理的进程数之和,当前三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

在一行中主要关注load average 负载信息,当在压测,处理大量请求、CPU密集型计算等。都会看到这个数值升高。一般来说load average 的数值不超过这台机器的总核数。

第二行

Tasks: 120 total,   2 running, 118 sleeping,   0 stopped,   0 zombie
  • Tasks: 120 total:当前有120个进程
  • 2 running:2个正在运行的进程
  • 118 sleeping:118个进程正在睡眠
  • 0 stopped:0个停止进程
  • 0 zombie:0个僵尸进程

第三行

 %Cpu(s):  3.7 us,  6.8 sy,  0.0 ni, 89.1 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
  • %Cpu(s):CPU使用率
  • 3.7 us:用户CPU使用率为3.7%,越大越好
  • 6.8 sy:系统CPU使用率,越小越好
  • 0.0 ni:高优先级进程占用CPU时间的百分比
  • 89.1 id:空闲CPU占用率
  • 0.0 wa:IO等待CPU占用率,表示 CPU 在等待 IO 操作完成所花费的时间。系统不应该花费大量的时间来等待 IO 操作,否则就说明 IO 存在瓶颈
  • 0.0 hi:CPU硬中断率,硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息
  • 0.3 si:CPU软件中断率,软中断是由程序发出的中断
  • 0.0 st:强制等待占用CPU率

一般情况,我们只需要关心us用户CPU使用率和sy系统CPU使用率即可

第四行

KiB Mem :   995896 total,    78720 free,   793520 used,   123656 buff/cache
  • MiB Mem:物理内存
  • 995896 total:物理内存总量
  • 78720 free:空闲内存量
  • 793520 used:已使用内存量
  • 123656 buff/cache:用作内核缓存的内存量

一般情况,我们只需要关心free空闲物理内存剩了多少,userd已用物理内存用了多少

第五行

KiB Swap:  2097148 total,  1217144 free,   880004 used.    46168 avail Mem
  • MiB Swap:虚拟内存(交换空间),当内存不足的时候,把一部分硬盘空间虚拟城内存使用
  • 2097148 total:总量
  • 1217144 free:空闲
  • 880004 used:使用
  • 46168 avail Mem:可用于启动一个新应用的内存(物理内存),和free不同,它计算的是可回收的page cache和memory slab

一般来说物理内存是有限制的,但是虚拟出来的假内存是没有上限的,所以大部分情况不用关心,只需要关心物理内存即可。

第四行和第五行输出信息,也等同于使用free -m命令。

2. 进程信息

 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                      
  6830 elastic+  20   0 2839136 439488   4920 S  1.7 44.1  10:31.71 java                                                                                                                         
 36749 root      20   0  159080   1684   1096 S  0.7  0.2   1:26.96 sshd                                                                                                                         
  6822 kibana    20   0 1096020 238572   7944 S  0.3 24.0   5:58.23 node                                                                                                                         
  6882 mysql     20   0 1341540   8624      0 S  0.3  0.9   2:17.08 mysqld                                                                                                                       
     1 root      20   0  128092   2076    848 S  0.0  0.2   0:02.26 systemd
参数含义
PID进程id
USER进程所属用户
PR优先级
NInice值,负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用物理内存
SHR共享内存大小,单位kb
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU进程占用CPU率
%MEM进程占用内存率
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND进程的命令或名称或程序文件路径

一般情况我们更关心PID进程id、RES进程使用物理内存、%CPU进程占用CPU率、%MEM进程占用内存率

3. top命令选项

选项功能
-p只显示某个进程的信息
-d设置刷新时间,默认是5s
-c显示产生进程的完整命令,默认只是进程名
-n指定刷新次数,例如 top -n 3,刷新输出3次后退出
-b以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /tmp/top.tmp
-i不显示任何闲置 (idle) 或无用 (zombie) 的进程
-u查找特定用户启动的进程

4. top命令交互式选项

按键	功能
1键 按下1键,可以监控每个逻辑CPU的状况
u键 按下u键,然后输入用户名,则可以查看相应的用户进程
h键	按下h键,会显示帮助画面
c键	按下c键,会显示产生进程的完整命令,等同于-c参数,再次按下c键,变为默认显示
f键	按下f键,可以选择需要展示的项目
M键	按下M键,根据驻留内存大小(RES)排序
P键	按下P键,根据CPU使用百分比大小进行排序
T键	按下T键,根据时间/累计时间进行排序
E键	按下E键,切换顶部内存显示单位
e键	按下e键,切换进程内存显示单位
l键	按下l键,切换显示平均负载和启动时间信息。
t键	按下t键,切换显示CPU状态信息
m键	按下m键,切换显示内存信息 

top命令的功能非常强大,在对代码是优化内存消耗,还是优化代码逻辑,或者其他地方的改进都有很大的帮助。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值