当我们在执行性能测试的时候,需要关注

  • 业务性能指标(业务监控)

    • 吞吐量(TPS)
    • 响应时间
      • 平均响应时间
      • 50%用户响应时间
      • 90%用户响应时间
      • 标准差      # TPS标准差越小,说明波动越小,系统越稳定;标准差越大,说明波动越大,系统越不稳定
  • 资源使用情况(系统监控)
    • CPU

      • 高负载(>50%)
      • 满负载(>70%)
      • 超负载(>90%)
    • MEM
    • 磁盘IO
    • 网络
    • 其它资源使用率
  • 被测服务日志
    • nginx的access.log日志

当我们在使用top命令的时候,可以结合以下快捷键观察进程负载

    • 按键"M":按照内存占用率大小的顺序,对进程排序  #大写的M,或者shift+m
    • 按键"P":按照CPU占用率大小的顺序,对进程排序   #大写的P,或者shift+p
  • 按键"数字1":显示本台服务器的CPU数量,及每个CPU的状态  #监控时除了关注整体的CPU繁忙程度,也必须观察每个CPU的状态,看看是否存在“某个CPU负载不均匀”,或者是否存在“少数几个核达到100%利用率”

概念

Top,display Linux tasks,即:显示Linux的进程/任务。

在Linux内的一个用法

top

这个命令的意思是:显示"各个进程的资源占用情况"。我们在做性能测试的过程中,常常需要用到这个命令来查看服务器的负载状态。

输出列表内各字段的介绍

第1行

第1行

备注

16:33:23

当前时间

up 5:58

系统运行了5小时58分钟

如果机器运行超过24小时,

那么左侧会出现“n days”

4 users

当前登录的用户数

Load average

系统负载

三个数值分别是:

1分钟、5分钟、15分钟前至现在的系统负载的平均值

Load average的概念:

它所包含的信息不是CPU的使用率状况,而是指在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息

第2行

第2行 – Tasks

备注

150 total

进程总数 150个

1 running

正在运行的进程 1个

149 sleeping

睡眠的进程 149个

0 stopped

停止的进程

0 zombie

僵尸进程

第3行

第3行 – Cpu(s)

备注

0.2%us

用户空间占用CPU百分比(用户使用率)

0.2%sy

内核空间占用CPU百分比(系统使用率)

如果太高,表示系统调用时间长,例如是IO操作频繁

0.0%ni

用户进程空间内改变过优先级的进程占用CPU百分比

99.6%id

空闲CPU百分比

接近0则表示非常繁忙,

接近100表示很闲

0.0%wa

等待IO的CPU时间百分比

“进程等待输入输出”的时间片比例

0.0%hi

硬中断

io中断

0.0%si

软中断

网络中断

0.0%st

虚拟 CPU 等待实际 CPU 的时间的百分比

全称:steal time

高 steal 值可能意味着主机供应商在服务器上过量地出售虚拟机。如果升级了虚拟机, steal 值还是不降的话,你应该寻找另一家服务供应商。

低 steal 值意味着你的应用程序在目前的虚拟机上运作良好。因为你的虚拟机不会经常地为了 CPU 时间与其它虚拟机激烈竞争,你的虚拟机会更快地响应。这一点也暗示了,你的主机供应商没有过量地出售虚拟服务,绝对是一件好事情。

第4行

第4行 – Mem

备注

2061556 k  total

物理内存总量

1626384 k  used

使用的物理内存总量

435172 k   free

空闲的内存总量

56504 k    buffers

用作内核缓冲的内存量

"Buffer"被称为"缓冲"

"Buffer是数据即将被写入磁盘,把数据完整地存起来"

第5行

第5行 – Swap

备注

0k total

交换区总量

0k used

使用的交换区总量

0k free

空闲交换区总量

173428k cached

缓存的交换区总量

"Cache"被称为"缓存"

"Cache是数据被从磁盘中读出来的,等着被用"

所谓的第6行

第6行 – 进程信息

备注

PID

进程ID

PPID:父进程id

USER

进程所有者的用户名

UID:进程所有者的用户id

PR

优先级

NI

nice值

负值表示高优先级,

正值表示低优先级

VIRT

进程使用的虚拟内存总量,单位kb

VIRT=SWAP+RES

RES

进程使用的、未被换出的物理内存大小,单位kb

RES=CODE+DATA

SHR

共享内存大小,单位kb

S

进程状态

D=不可中断的睡眠状态

R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程

%CPU

上次更新到现在的CPU时间占用百分比

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计,单位1/100秒

COMMAND

进程名称

命令名/命令行

Linux操作系统-命令-top的更多相关文章

  1. Linux 常用命令 | top 详解

    top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...

  2. Linux常用命令 - top命令详解(重点)

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html top ...

  3. Linux操作系统-命令-netstat

    # 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...

  4. Linux操作系统-命令-vmstat

    叨叨两句 涉及监控服务器性能的命令,除了有vmstat之外,还有top.iostat.netstat.本文只是介绍一下这4个命令中的1个.剩下的3个命令可以参考以下网上的资料就差不多能会了. 推荐to ...

  5. Linux基础命令---top显示进程信息

    top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...

  6. Linux操作系统-命令-aptitude install unzip

    如果linux系统没有自带unzip,请执行aptitude install unzip以安装. 使用到这条Linux命令的场景是: 当我把Jmeter的压缩包(xxx.zip)拷贝到远程的Linux ...

  7. Linux操作系统-命令-free

    在看过网友写的一篇名为<Buffer和Cache的区别>http://zhumeng8337797.blog.163.com/blog/static/1007689142011102447 ...

  8. Linux常用命令知识积累

    基本操作 Linux关机,重启 # 关机 shutdown -h now # 重启 shutdown -r now 查看系统,CPU信息 # 查看系统内核信息 uname -a # 查看系统内核版本 ...

  9. Linux常用系统管理命令(top、free、kill、df)

    top   -c    #任务管理器 free  -m    #查看内存使用情况 kill  -9   2312 (说明:强制杀死进程 kill  -9  pid ) df   -h    #查看磁盘 ...

随机推荐

  1. Linux实战教学笔记13:定时任务补充

    第十三节 定时任务补充 标签(空格分隔): Linux实战教学笔记 ---[更多资料点我查看][1] 1,生产环境常用Crontab专业实例 1.1书写crontab定时任务多个基本要领 1.1.1 ...

  2. H3CNE实验:通过Console端口本地访问H3C设备

    连接好Console线后,将交换机开机,在SecureCRT上会显示如下信息: Starting...... RAMLine.....OK System is booting............. ...

  3. maven Spring+Spring MVC+Mybatis+mysql轻量级Java web开发环境搭建

    之前一直在做的一个GIS系统项目,采用了jsp+servlet框架,数据传输框架采用了apache的thrift框架,短时多传的风格还不错,但是较其他的java web项目显得有点太臃肿了,现在给大家 ...

  4. 如何查看安装的sql server是什么版本

    方法 1:通过使用 SQL Server Management Studio 中的对象资源管理器连接到服务器.连接对象资源管理器后,它将显示版本信息(在括号中),以及用于连接到 SQL Server ...

  5. 基于封装通用的EF CRUD 的操作

    1.  Entity Framework是Microsoft的ORM框架,随着 Entity Framework 不断的完善强化已经到达了EF 6.0+ 还是非常的完善的,目前使用的比例相对于其他OR ...

  6. Threads(线程)(二)

    前一章我们提到了同步异步,多线程:在开始今天的文章之前,先来总结一下上一篇文章的内容,多线程的优点. 多线程有哪些优点呢,在这里通过代码依次来总结. 异步多线程的三大特点 1)同步方法卡界面,原因是主 ...

  7. [luogu]P1379 八数码难题[广度优先搜索]

    八数码难题 ——!x^n+y^n=z^n 我在此只说明此题的一种用BFS的方法,因为本人也是初学,勉勉强强写了一个单向的BFS,据说最快的是IDA*(然而蒟蒻我不会…) 各位如果想用IDA*的可以看看 ...

  8. [luogu P3786]萃香抱西瓜 [spfa][状态压缩]

    题目背景 伊吹萃香(Ibuki Suika)正在魔法之森漫步,突然,许多西瓜(Suika)从四周飞来,划出了绚丽的轨迹.虽然阵势有点恐怖,但她还是决定抱走一些西瓜. 题目描述 萃香所处的环境被简化为一 ...

  9. 本地存储之cookie、localStorage、sessionStorage

    一.本地存储分为cookie,以及新增的localStorage和sessionStorage 1.cookie存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有 ...

  10. informatica 学习总结

    问:什么是BI? 答:BI是商务智能,它包含的应用系统和技术较宽泛,通过收集,存储,分析和提供对数据的访问,来帮助企业用户做出更好的商务决策. BI应用包括决策支持,查询和报表,联机分析处理OLAP, ...