top

作用:能够实时显示系统中各个进程的资源占用情况。类似于windows的任务管理器

命令参数:

  • d:指定每两次屏幕信息刷新之间的时间间隔
  • p:通过指定监控进程ID来仅仅监控某个进程的状态
  • q:使top没有任何演示的进行刷新
  • S:指定累计模式
  • s:使top命令在安全模式中运行
  • i:使top不显示任何闲置或者僵死进程
  • c:显示整个命令行而不只是显示命令名
终端输入top,显示如下
  • 第一行:表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载(最近1,5,15分钟)
  • 第二行:显示的所有启动的进程、目前运行的、挂起的(sleeping)和无用(zombie)的进程
  • 第三行:显示的是目前CPU的情况,包括系统占用的比例、用户占用的比例、闲置的比例
  • 第四行:显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存
  • 第五行:显示交换区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。
  • 第六行:显示的项目如下:
输入top之后,还可以根据需要进行排序,查看对应信息
shift+M:按照内存使用进行排序
shift+P:按照cpu时间排序
shift+T:按照cpou累计使用时间
vmstat
作用:
虚拟内存的统计。vmstat可以实时监控cpu运行队列和系统关键的性能指标,如磁盘,上下文交换,cpu使用率等
命令参数:
  • -a:显示活跃和非活跃内存
  • -f:显示从系统启动至今的fork数量
  • -m:只显示slabinfo
  • -n:只在开始时显示一次个字段名称
  • -s:显示内存相关统计信息及多种系统活动数量
  • delay:属性时间间隔。如果不指定,只显示一条结果
  • count:刷新次数。如果不指定刷新次数,但制定了刷新时间间隔,这是刷新次数为无穷
  • -d:显示磁盘相关统计信息
  • -p:显示制定磁盘分区统计信息
  • -S:使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K
  • -V:显示vmstat版本信息
例子:
输入vmstat可以看到
procs
r列表示等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
memory
swpd 切换到内存交换区的内存数量,或者说是现在可用的交换内存(k)。如果swpd不为0,或者比较大,比如100m,只要si、so的值长期为0,系统性能还是正常
free当前的空闲页面列中内存数量(k),空闲内存
buff作为buffer cache的内存数量,一般对块设备的读写才需要缓冲
cache做为page cache的内存数量,一般做为内存系统的cache,如果cache较大,说明用到cahce的文件较多,如果此时IO中bi较小,说明文件系统效率较好
swap
si有内存进入交换区数量
so有内存交换区进入内存数量
IO
bi从块设备读入数据的总量(读磁盘)(每秒KB)
bo块设置吸入数据的总量(写磁盘)(每秒KB)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。如果bi,bo长期不等于0,表示物理内存容量太小
system
显示采集间隔内发生的中断数
in列表示在某一段时间间隔中观测到的每秒设备中断数
cs列表示每秒产生的上下文交换次数,如当cs比磁盘I/O和网络信息包速率高得多,都应该进一步调查
cpu
表示cpu的使用状态
us 列显示了用户方式下所花费cpu时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序
sy 列显示了内核进程花费的cpu时间的百分比。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在cpu不足
wa 列显示了IO等待所占有的cpu时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘或者磁盘访问控制器的带宽瓶颈造成的(块操作)
id 列显示了cpu处在空闲状态的时间百分比,如果id经常小于40,表示中央处理器的符合很重
最好使用vmstat t [n]命令,例如vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况。
iostat
iostat主要用于监控系统设备的IO负载情况
  • -d:显示设备(磁盘)使用状态
  • -k:某些使用block为单位的列强制使用Kb
  • -x:显示更多的统计信息
  • -c:获取cpu部分状态值
例:每个1s刷新一次,共刷新10次
tps:该设备每秒的传输次数。一次传输即一次I/O
kB_read/s:每秒从设备读取的数量
kB_wrtn/s:每秒向设备写入的数量
kB_read:读取的总数据量(Kb)
kB_wrtn:写入的总数据量(Kb)
常见用法
实例分析
上面看到磁盘每秒传输次数平均约为400;每秒读取约5M,写入约1M
sar
命令行输入sar:
  • %user:用户模式下消耗的cpu时间的比例
  • %nice:通过nice该表了进程调度优先级的进程,在用户模式下消耗的cpu时间的比例
  • %system:系统模式下消耗的cpu时间的比例
  • %iowait:cpu等待磁盘I/O而导致空闲状态消耗时间的比例。如果过高,表示存在I/O瓶颈
  • %steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟cpu计算占用的时间比例
  • %idle:cpu没有等待磁盘I/O等待空闲状态消耗的时间比例
如果%idle的值高但系统响应慢时,有可能是cpu等待分配内存,此时应加大内存容量
如果%idle的值持续低于10,则系统的cpu处理能力相对较低,表明系统中最需要解决的资源是CPU

Linux性能分析命令相关推荐

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

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

  2. Linux 性能分析命令详解

    top 命令 top -1 按数字1可以看到 多个核,每个核的cpu的使用情况 监控工具\平台来收集cpu的使用率 是所有cpu数量的一个总体的使用率 top -E 按大写字母E可以看到不同单位的内存 ...

  3. 【转】一文掌握 Linux 性能分析之网络篇(续)

    [转]一文掌握 Linux 性能分析之网络篇(续) 在上篇网络篇中,我们已经介绍了几个 Linux 网络方向的性能分析工具,本文再补充几个.总结下来,余下的工具包括但不限于以下几个: sar:统计信息 ...

  4. Linux 性能分析的前 60 秒

    Linux 性能分析的前 60 秒 为了解决性能问题,你登入了一台 Linux 服务器,在最开始的一分钟内需要查看什么? 在 Netflix 我们有一个庞大的 EC2 Linux 集群,还有非常多的性 ...

  5. 20个常用Linux性能监控工具/命令

    20个常用Linux性能监控工具/命令 对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因 ...

  6. 六个 Linux性能监控命令行工具

    六个 Linux性能监控命令行工具  1.htop - http://htop.sourceforge.net/ 一个可以让用户与之交互的进程查看器.作为文本模式的应用程序,主要用于控制台或 X 终端 ...

  7. linux性能监控工具perf,Linux性能分析中常用的工具perf介绍

    今天小编要跟大家分享的文章是关于Linux性能分析中常用的工具perf介绍.系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化.性能剖析的目标是寻找性能瓶 ...

  8. 2022最火的Linux性能分析工具--perf

    ►►► 介绍 perf是Linux性能分析中,比较常用的一款工具.它基于时间采集原理,以性能事件为基础,支持针对CPU处理器相关性能指标与操作系统相关性能指标的性能分析.常被用来查找.定位源码级性能问 ...

  9. (转)超全整理!Linux性能分析工具汇总合集

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

  10. Linux性能分析工具详解

    Linux性能分析工具详解 一.tcpdump 常用用法: 这里用sudo因为当前帐号无权使用tcpdump,这里仅以一个tcp的例子来说明:sudo /usr/sbin/tcpdump tcp po ...

最新文章

  1. steamvr unity 连接眼镜_Unity SteamVR插件集成
  2. 事业单位招 计算机面试实践技能操作,2019山东事业单位卫生类招聘面试实践技能概论...
  3. CSS学习05之结构伪类选择器
  4. Windows Subsystem for Linux——[WslRegisterDistribution failed with error: 0x8007019e]解决方案
  5. 中芯国际斥资570亿元上海建12英寸晶圆厂
  6. python windows记事本_pywinauto自动化操作记事本
  7. C语言第七次作业---要死了----
  8. c语言函数的参数是结构变量,何去运用结构体变量和结构的变量的指针作为函数的参数...
  9. MCMC:Gibbs 采样(matlab 实现)
  10. [转载]Git安装以及使用Git 管理个人文档
  11. 专业五线谱作曲打谱软件Overture的常用快捷键功能大全
  12. 怎么把pdf文件转换成word文件
  13. 做了 7 年开源数据库开发,我学到了什么?
  14. win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
  15. 五子棋游戏代码(完整版)
  16. leapftp download,leapftp download如何下载,软件介绍
  17. 数据库工程师的几个发展方向
  18. 数组去重几种常见的方法
  19. 傲梅备份服务器系统,傲梅轻松备份如何还原系统的详细解析
  20. 2019/11/08 校内模拟

热门文章

  1. Ansible事实变量常见fact
  2. php制作与设计动态网页,如何制作动态网站
  3. 英伟达账号为什么登录不了_n卡的geforce experience登录不了怎么办?
  4. LibOpenCM3(二) 项目模板 Makefile分析
  5. shell法宝之sed,修改文件内容的好帮手
  6. 前端用ps创建画布的分辨率应该设置的值
  7. python 中的 Fraction和GCD求最大公约数
  8. 06-图3 六度空间 (30分)
  9. [系统安全] 反病毒与免杀原理概论
  10. phpstudy 报错Error while setting value ‘NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO‘ to ‘sql_mode‘