top命令动态展示系统整体资源和各个进程资源占用状况,是Linux下常用的性能分析工具。

top命令语法

使用格式:top [-] [d] [b] [H] [p] [q] [c] [C] [S] [s] [n]

参数说明:

d 指定每次屏幕刷新间隔时间。
p 通过进程ID查看指定进程的状态。
n 刷新次数,完成后自动退出
b 批次模式,搭配"n"参数一起使用,可以用来将top的结果重定向到文件
H 查看线程占用资源状态
u 查看指定用户进程占用资源情况
c 显示整个命令行而不只是显示命令名

top使用实例

查看进程ID为6663的资源占用情况,每隔2秒刷新一次,总共查看10次

top -b -p  -d  -n
top -b -p -d -n > data.txt #重定向到文件

查看进程ID为6663的线程资源占用情况,性能测试常用。区别就是加参数-H

top -b -H -p  -d  -n
top -b -H -p -d -n > data.txt #重定向到文件

top默认输出关键信息解读

top - :: up  day, :,  users,  load average: 0.00, 0.03, 0.05
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Mem : total, free, used, buff/cache
Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.3 0.1 :45.07 top
root S 0.3 0.2 :07.28 sshd
root S 0.0 0.0 :13.42 systemd
root S 0.0 0.0 :00.01 kthreadd
root S 0.0 0.0 :00.53 ksoftirqd/
root - S 0.0 0.0 :00.00 kworker/:0H
root rt S 0.0 0.0 :00.45 migration/

第1行:load average: 0.00, 0.03, 0.05。系统负载统计汇总

load average,表示系统负载(任务队列的平均长度), 三个数值分别为1、5、15分钟前到现在的平均值。如果这个数除以逻辑CPU个数,结果高于5就表明系统在超负荷运转。

第3行:Cpu(s): 0.7 us, 0.3 sy, 0.0 ni,99.0 id, 0.0 wa, 0.0 hi, 0.0 si。CPU使用信息汇总

us 用户空间占用CPU百分比
sy 内核空间占用CPU百分比
ni 用户进程空间内改变过优先级的进程占用CPU百分比
id 空闲CPU百分比
wa I/O等待的CPU时间百分比
hi 硬件CPU中断占用百分比
si 软中断占用百分比
st 虚拟机占用百分比

第4行:Mem: 8010528 total,   126708 free,  1172488 used,  6711332 buff/cache。内存使用情况汇总。

第5行:Swap:  0 total,   0 free,  0 used.  6498684 avail Mem。交换空间使用情况汇总。

进程资源占用情况各字段含义解读

PID 进程id
PPID 父进程id
USER 进程所有者的用户名
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D为不可中断的睡眠状态 R为运行 S为睡眠 T为跟踪/停止 Z为僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
COMMAND 进程名称

top交互命令

h 显示帮助界面,给出一些简短的命令总结说明
P 根据CPU使用百分比大小进行排序
m 切换显示内存信息
M 根据驻留内存大小进行排序
c 切换显示命令名称和完整命令行
t 切换显示进程和CPU状态信息
k 终止一个进程。
i 忽略闲置和僵死进程。这是一个开关式命令。
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中
q 退出程序

其他

按数字1,查看各CPU性能数据,再按数字1,返回
"Shift + <" 和 "Shift + >",翻页查看进程资源占用信息

Linux性能测试分析命令_top的更多相关文章

  1. Linux性能测试分析命令_sar+iostat+vmstat+top

    sar主要用于收集并统计系统资源的信息,包括CPU.IO.内存.网卡流量等. vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析 ...

  2. Linux性能测试分析命令_vmstat

    vmstat命令主要是对操作系统的虚拟内存.进程.IO读写.CPU活动等整体情况进行统计.但是它不能对某个进程进行深入分析. vmstat基本语法 命令使用格式:vmstat [options] [d ...

  3. Linux性能测试分析命令_sar

    sar主要用于收集并统计系统资源的信息,包括CPU.IO.内存.网卡流量等. sar语法 用法:sar [ 选项 ] [ <时间间隔> [ <次数> ] ] 常用选项说明: - ...

  4. Linux性能测试分析命令_iostat

    iostat用于输出CPU和磁盘I/O相关的统计信息 iostat语法 用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]] 常用选项说明: -c:只显示系统 ...

  5. [转帖]Linux性能测试 pmap命令

    Linux性能测试 pmap命令 https://www.cnblogs.com/txw1958/archive/2012/07/26/linux-pmap.html 名称:       pmap - ...

  6. Linux性能分析命令工具汇总

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  7. linux性能分析命令top

    发布时间: 2013-12-14浏览次数:154分类: 服务器 top是linux最常用的性能分析工具了,它是个交互式工具,提供系统的整体性能,如正在执行的进程信息包括进程ID,内存占用率,CPU占用 ...

  8. linux 性能分析命令及其解释

    很多时候,我们需要对linux上运行的环境大体有一个了解,那么久需要大体知道当前系统的相关资源的使用情况,那么可以用一些linux提供的丰富的命令来查看 性能分析 vmstat 虚拟内存统计 用法 U ...

  9. linux性能分析命令1:top命令

    转载:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的 ...

随机推荐

  1. 使用adb安装遇到的一些坑

    1.下载安装android SDK,可通过浏览器或者相关手机软件下载软件下载需要安装的apk安装文件,把apk文件放到android-sdk-windows\platform-tools下 2.可通过 ...

  2. RAC集群安装校验输出信息

    RAC集群安装校验输出信息 作者:Eric 微信:loveoracle11g [grid@rac-node1 grid]$ [grid@rac-node1 grid]$ ./runcluvfy.sh ...

  3. 支持向量机(SVM)算法分析——周志华的西瓜书学习

    1.线性可分 对于一个数据集: 如果存在一个超平面X能够将D中的正负样本精确地划分到S的两侧,超平面如下: 那么数据集D就是线性可分的,否则,不可分. w称为法向量,决定了超平面的方向:b为位移量,决 ...

  4. Delphi SetParent 嵌入其他应用程序

    [代码]Delphi实现窗体内嵌其他应用程序窗体 实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达 ...

  5. (转) C#之VS自带RDLC报表学习

    原文地址:http://blog.csdn.net/hk_5788/article/details/49846905  原文工具VS2010,测试版本工具VS2013 报表是这样设计的: 看看结果: ...

  6. Linux coredump 的打开和关闭

    (转载自 http://blog.sina.com.cn/s/blog_6b3765230100lazj.html) ulimit -c 输出如果为0,则说明coredump没有打开 ulimit - ...

  7. MySQL通过游标来实现通过查询结果集循环

    /*我们有时候会遇到需要对 从A表查询的结果集S_S 的记录 进行遍历并做一些操作(如插入),且这些操作需要的数据或许部分来自S_S集合*/ /*临时存储过程,没办法,不能直接在查询窗口做这些事.*/ ...

  8. Vue.js基础(一)

      Vue.js的雏形: 数据绑定: 1,单向   {{输出}} 数据=>视图 2,双向   v-model              数据<=>视图 3,{{*msg}} 数据只绑 ...

  9. uiautomator 代码记录 :BT接收测试

    package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...

  10. centos离线安装docker及其它软件包

    桌面版本安装 docker可以通过网络安装,但在内网环境,需要进行离线安装. 执行 uname -r 获取操作系统版本号 根据版本号,到docker.com下载docker的离线安装包: Linux版 ...