Linux操作系统-命令-top
当我们在执行性能测试的时候,需要关注
- 业务性能指标(业务监控)
- 吞吐量(TPS)
- 响应时间
- 平均响应时间
- 50%用户响应时间
- 90%用户响应时间
- 标准差 # TPS标准差越小,说明波动越小,系统越稳定;标准差越大,说明波动越大,系统越不稳定
- 资源使用情况(系统监控)
- CPU
- 高负载(>50%)
- 满负载(>70%)
- 超负载(>90%)
- MEM
- 磁盘IO
- 网络
- 其它资源使用率
- CPU
- 被测服务日志
- 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=运行 |
|
%CPU |
上次更新到现在的CPU时间占用百分比 |
|
|
%MEM |
进程使用的物理内存百分比 |
|
|
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
|
|
COMMAND |
进程名称 |
命令名/命令行 |
Linux操作系统-命令-top的更多相关文章
- Linux 常用命令 | top 详解
top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...
- Linux常用命令 - top命令详解(重点)
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html top ...
- Linux操作系统-命令-netstat
# 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...
- Linux操作系统-命令-vmstat
叨叨两句 涉及监控服务器性能的命令,除了有vmstat之外,还有top.iostat.netstat.本文只是介绍一下这4个命令中的1个.剩下的3个命令可以参考以下网上的资料就差不多能会了. 推荐to ...
- Linux基础命令---top显示进程信息
top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...
- Linux操作系统-命令-aptitude install unzip
如果linux系统没有自带unzip,请执行aptitude install unzip以安装. 使用到这条Linux命令的场景是: 当我把Jmeter的压缩包(xxx.zip)拷贝到远程的Linux ...
- Linux操作系统-命令-free
在看过网友写的一篇名为<Buffer和Cache的区别>http://zhumeng8337797.blog.163.com/blog/static/1007689142011102447 ...
- Linux常用命令知识积累
基本操作 Linux关机,重启 # 关机 shutdown -h now # 重启 shutdown -r now 查看系统,CPU信息 # 查看系统内核信息 uname -a # 查看系统内核版本 ...
- Linux常用系统管理命令(top、free、kill、df)
top -c #任务管理器 free -m #查看内存使用情况 kill -9 2312 (说明:强制杀死进程 kill -9 pid ) df -h #查看磁盘 ...
随机推荐
- 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...
- html路径问题
1.绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如"bg.jpg"这个图片是存放在硬盘的"E:\book\网页布局代码\第2章"目录下,那么 ...
- angular自动化测试--protractor
前戏 面向模型编程: 测试驱动开发: 先保障交互逻辑,再调整细节.---by 雪狼. 为什么要自动化测试? 1,提高产出质量. 2,减少重构时的痛.反正我最近重构多了,痛苦经历多了. 3,便于新人接手 ...
- wget下载站点文件
非常简单的指令,只需要: wget -c -r -p -k -np [URL] 下面解释下个参数的意义: -c 断点续传 -r 递归下载,可遍历整个站点的结构 -p 网页显示所需要的素材(图片\css ...
- Vuejs——Vue生命周期,数据,手动挂载,指令,过滤器
版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 原教程: http://cn.vuejs.org/guide/instance.html htt ...
- pc端的企业网站(IT修真院test8)详解1-1
这任务需求我们使用推特的前端框架bootstrap来实现.先放psd图. 上传这些图片也蛮大的.为此我使用office picture manager压缩了图片. 方法:alt+p+o,然后tab+下 ...
- Mybatis初学笔记
MyBatis环境搭建:1.需要mybatis-3.3.0.jar,将该jar包导入web工程的libs文件夹中:2.在src下新建一个mybatis-config.xml文件,mybatis的基本配 ...
- 富文本编辑器UEditor自定义工具栏(一、基础配置与字体、背景色、行间距、超链接实现)
导读:UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,功能强大,可定制,是一款优秀的国产在线富文本编辑器,编辑器内可插入图片.音频.视频等. 一.UEditor自定义 ...
- 创建自己的代码片段(CodeSnippet)
前言 工作中经常会写一些重复的代码片段,如自动属性.for循环.Action等等,针对这种情况,VisualStudio已经给我们提供了一个非常方便的功能--代码片段,是我们可以简单的输入几个字母就能 ...
- 程序员面试必备-链表各种操作及其实现方法(c实现)
链表是一种最简单的数据结构之一,经常会被面试官用来考察应聘者的基础扎不扎实,最近也到了求职季,所以我把自己对链表的一些理解写出来,希望能跟大家交流交流: 链表的概念其实挺简单,无非就是一个利用指针将数 ...