一、centos安装

sudo yum -y install epel-release.noarch
sudo yum -y install atop
sudo systemctl enable atop #! 此行是说明: 暂时把搜集信息的频率改为 60 一次 (默认是 600 秒)。
sudo vi /etc/sysconfig/atop
# interval (default 10 minutes)
INTERVAL=60 #! 然后启动 atop
sudo systemctl start atop

开启 atopacct 功能,这个功能可以记录两个 sample 之间启动但离开的进程。 做法如下:

$ sudo systemctl enable atopacct
$ sudo systemctl start atopacct

二、用法介绍

PRC:该列展示整个系统的性能状况;

  1. sys:过去10s所有的进程在内核态运行的时间总和
  2. usr:过去10s所有的进程在用户态的运行时间总和
  3. #proc:进程总数
  4. #trun:过去10s转换的进程数
  5. #zombie:过去10s僵死进程的数量
  6. #exit:在10s采样周期期间退出的进程数量

CPU: cpu列展示了服务器的CPU整体的一个状态信息,包括内核和用户所占的比例、处理中断所占的比例、CPU的处于空闲下比例(这里是100%*cpu核心数,CPU有时候也会因为由于磁盘性能问题出现等待的空闲)

  1. sys:cpu在处理进程时处于内核态的时间所占的比例
  2. usr:cpu在处理进程时处于用户态的时间所占的比例
  3. irq:cpu在处理进程的中断请求所占的实际比例
  4. idle:cpu处于空闲状态下的时间比例(除了本身空闲,还有比如等待磁盘io的情况下也会处于空闲状态)

cpu:每个核心的状态信息,和总的CPU信息一样,每列加起来的总和就是总的CPU的状态信息。

CPL:cpl也反应了服务器整体的性能,展示信息包括进程等待队列数,分别从过去1分钟、5分钟、15分钟的采样信息。

  1. avg1:过去1分钟进程等待队列数
  2. avg5:过去5分钟进程等待队列数
  3. avg15:过去15分钟进程等待队列数
  4. csw(context swapping):上下文交换次数
  5. intr(interrupt):中断发生的次数
  6. numcpu:cpu的核心数

mem:该列主要展示内存的使用信息。

  1. tot:物理内存总量
  2. free:空闲内存的大小(不能单单从这个字段就判断内存不足,还需要参考free -m中的-/+ buffers/cache:free因为这块的内容随时就可以拿过来使用,还可以从是否有使用Swap来判断是否内存不足)
  3. cache:用于页缓存的内存大小
  4. dirty:内存中的脏页大小
  5. buff:用于文件缓存的内存大小
  6. slab:系统内核占用的内存大小

SWP:交换空间使用情况

  1. tot:交换空间总量
  2. free:交换空间剩余空间总量

PAG列:虚拟内存分页情况

  1. swin:换入内存页数
  2. swout:换出内存页数

LVM/DSK:每个分区信息以一列来进行展示

  1. busy:磁盘忙时所占比例
  2. read、KiB/r 、MBr/s:每秒读的请求数和请求的kb、mb数
  3. write、KiB/w 、MBr/w:每秒写的请求数和请求的kb、mb数
  4. avq:磁盘平均队列长度(根据实际的监控该列好像是磁盘平均请求数avgrq)
  5. avio:磁盘的平均io时间

NET:展示了传输层(TCP/UDP)、网络层(ip)、网络接口的网络传输信息。

transport:传输层(TCP/UDP)的数据输入输出的展示,例如在服务器的内部进程之间的数据传输就是在传输层展示,以为还不需要往下通过网络进行传输。

network:网络层(ip)的数据输入输出的展示;

eth0:默认的网络接口的数据输入输出的展示,也就是通过etho的ip的数据传输的展示,

  1. sp:网卡的带宽(1000M)
  2. pcki:传入的数据包的大小
  3. pcko:传出的数据包的大小
  4. si:每秒传入的数据大小
  5. so:每秒传出的数据大小
  6. coll(collisions):每秒的冲突数
  7. mlti(MULTICAST):每秒的多路广播的数量
  8. erri/erro:每秒输入输出的错误数
  9. drpi/drpo:每秒的输入输出的丢包数

lo:通过127.0.0.1网络接口的数据传输的数据展示,参数和上面的eth0是一样的

进程列

进程列展示了每个进程在过去10S内的数据

m模式:内存状态模式

SYSCPU:过去10s内进程处于内核模式占用的CPU时间

USRCPU:过去10S进程处于用户模式占用的CPU时间

VSIZE:过去10S进程占用的虚拟空间大小

RSIZE:过去10S进程占用的内存空间大小

PSIZE:过去10S进程占用的页大小

VGROW:过去10S进程增长的虚拟空间大小

RGROW:过去10S进程增长的内存大小

SWAPSZ:过去10S进程使用交换空间的大小。

MEM:过去10S进程占用内存百分比

d模式:磁盘状态模式

RDDSK:过去10S进程读磁盘的数据量

WRDSK:过去10S进程写磁盘的数据量
DSK:过去10S进程所占磁盘的百分比
CMD:进程名 

p模式:进程状态模式,同一个名称的进程显示一列,根据进程名进行分组显示

NPROCS:相同名称的进程数量

其它的参数上面已经有列出

v模式:线程状态模式

u模式:用户模式

根据用户进行分组显示

g模式:标准模式

s:进程当前的状态,包括:s(sleeping),R(runing)等

atop的相关文件

/etc/atop:目录保存的是atop的配置文件
/etc/rc.d/init.d/atop:atop的启动文件
/etc/cron.d/atop:atop的定时任务文件,默认是每天0点开始
/var/log/atop:atop日志文件,默认是每天0点开始会产生当天的一个日志文件,然后可以通过atop -r file 查看信息,但是没有找到自动播放的的功能,只能通过输入b显示一个指定的时间的信息,可以写个循环来实现
/usr/bin/atop:atop命令目录

#如:读取13点到17点的监控
atop -r atop_20160510 -b 13:00 -e 17:00

最后:

在atop的展示页面也可以输入m(内存)、p(进程)、u(用户)、d(磁盘)、c(进程运行的代码)、v(线程) 进行页面切换。

linux高级监控atop的使用的更多相关文章

  1. Linux 性能监控的18个命令行工具

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...

  2. Linux高级知识

    Linux高级知识 十一.LAMP架构 1.LAMP架构介绍.MySQL.MariaDB介绍.MySQL安装 2.MariaDB和Apache安装 3.安装PHP5和PHP7 4.Apache和PHP ...

  3. linux上监控tomcat down掉后自动重启tomcat

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  4. [转]linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  5. linux 进程监控

    linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程 ...

  6. Linux性能监控

    转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...

  7. Linux中监控命令top命令使用方法详解

    收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...

  8. Linux 下监控用户最大进程数参数(nproc)是否到达上限

    Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...

  9. linux下监控jvm 使用的方法

    之前一直用jconsole监控jvm,图形界面简单易用,最近因为需要在纯linux下进行操作,所以总结了一下 linux下监控jvm的例子,这次主要用到了jstat工具, 各个参数意义: jstat ...

随机推荐

  1. 构建前端第9篇之(下)---vue3.0将template转化为render的过程

    vue3.0将template转化为render的过程 这里是简单标记下,如何将.vue转换成js文件 具体的,先不研究了,太深,能力有限,达不到呢

  2. jquery设置下拉框selected不起作用

    在js中设置下拉框被选中: 最初写法: //移出selected $("#selected option").removeAttr("selected"); / ...

  3. 【LeetCode】297. 二叉树的序列化与反序列化

    297. 二叉树的序列化与反序列化 知识点:二叉树:递归 题目描述 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一 ...

  4. 使用 Python 翻译 CHM 帮助文档

    此方法绝对切实可行 翻译成品项目: https://github.com/foyoux/InstallShield2020-Documents 效果预览 安装 docts 库 pip install ...

  5. MyBatis使用Zookeeper保存数据库的配置,可动态刷新

    核心关键点: 封装一个DataSource, 重写 getConnection 就可以实现 我们一步一步来看. 环境: Spring Cloud + MyBatis MyBatis常规方式下配置数据源 ...

  6. DC-1 靶机渗透测试

    DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...

  7. Android中的一些小细节

    在代码中获取到的padding .margin.getWidth.event.getX.context.getResources().getDimensionPixelSize(R.dimen.key ...

  8. WinForm设置任务栏托盘程序

    程序设计界面如下图所示: 1.在程序初始化加载的时候设置程序图标,具体code如下: private void Form1_Load(object sender, EventArgs e) { //t ...

  9. js绕过-前端加密绕过

    前端加密解密 目录 前端加密解密 前言 前端加密定位方法 加密绕过实例 其他情况 前言 日常我们在工作时做安全测试或者日常的漏洞挖掘中,往往会遇到请求加密,参数加密的情况,而且绝大部分都是前端加密的情 ...

  10. 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...