一、atop介绍

atop是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,我们可获取相应的atop日志文件进行分析。

二、安装

atop 官网: https://www.atoptool.nl/downloadatop.php

在RHEL / CentOS / Fedora上
首先,你需要使EPEL软件库在RHEL / CentOS的/系统,以上面安装监控工具。

启用epel存储库后,您可以简单地使用yum软件包管理器来安装软件包,如下所示。

 yum install atop

也可以使用以下命令的wget直接下载上面的rpm包

wget http://www.atoptool.nl/download/atop-2.1-1.x86_64.rpm
rpm -ivh atop-2.1-1.x86_64.rpm

三、使用

atop工具安装好后在运行命令atop就能弹出监控界面

相关文件
/etc/init.d/atop: atop 的启动脚本

/etc/default/atop: 配置变量文件

/var/log/atop: atop默认的日志文件

/etc/cron.d/atop: atop的定时任务配置,默认是每天0点开始

参数详解:

atop:改行列出了服务器的host、当前时间、信息收集的频率

PRC

进程和线程级别总计

sys 内核态消耗的总cpu时间
user 用户态消耗的总cpu时间
proc 当前进程的总数
trun 当前处于运行状态的线程总数
tslp 睡眠可中断的线程数
tslpu 睡眠不可中断的线程数
zombie 僵死进程数
clones 克隆系统调用的数量
exit 在统计期间结束的进程数

CPU
cpu 利用率。大写的CPU行统计所有cpu利用率,小写的cpu行统计每个核的利用率。

sys cpu被用于处理进程时,进程在内核态占用CPU的时间比例 user cpu被用于处理进程时,进程在用户态占用CPU的时间比例
irq cpu用于中断处理(包括软中断)的时间百分比
idle cpu处于完全空闲状态的时间比例
wait cpu处于“进程等待磁盘IO导致CPU空闲”状态的时间比例
steal 反映运行在相同硬件上的其他虚拟机窃取的cpu时间百分比
guest 反映虚拟机使用的cpu时间百分比
curf 当前频率
curscal 当前缩放比例

在频率缩放的情况下 , 在统计周期内,前面提到的所有CPU百分比都与CPU使用的扩展有关。 在统计周期内如果一个CPU在用户态活跃时间只占50%, 而该CPU的频率扩展为40%, 那么在用户态下进程只使用了改CPU全部容量的 20% 。

在内核模块 cpufreq_stats 被激活的情况下(执行 modprobe cpufreq_stats 命令后), avgf 字段用来统计平均频率,avgscal字段用来统计平均缩放百分比。如果没有激活此模块,则使用 curf 来显示当前频率,curscal显示当前缩放百分比。

CPL

可在CPU上运行的线程数量的负载平均值 ,运行队列里的线程数,或者是等待磁盘I/O的线程数。
也反应了服务器整体的性能,展示信息包括进程等待队列数

avg1 平均1分钟的线程数量
avg5 平均5分钟的线程数量
avg15 平均15分钟的线程数量
csw 上下文切换的次数
intr 服务中断的数量
numcpu 可用cpu的数量

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

tot 物理内存的总量
free 当前空闲的内存量
cache 用作页缓存的内存量,包括所有的常驻共享内存
dirty 在页缓存内必须刷新到磁盘的内存量
buff 用于文件系统元数据的内存量
slab 用于内核mallocs的内存量

SWP:交换空间使用情况

tot 交换空间总量
free 交换空间剩余空间总量
vmcom 提交的虚拟内存空间
vmlim 提交空间的最大限制(默认值是交换空间加上内存大小的50% )

PAG列虚拟内存分页情况

swin 换入内存页数
swout 换出内存页数

DSK

第二列 显示磁盘符
busy 单位时间内忙于处理请求的百分比
read 发出的读请求数量
write 发出的写请求数量
KiB/r 每个读请求的大小,单位为KiBytes KiB/w 每个写请求的大小,单位为KiBytes
MBr/s 读操作每秒的吞吐量,单位为 MiBytes MBw/s 写操作每秒的吞吐量,单位为MiBytes
avq 平均队列深度 avio 请求寻道、延迟和数据传输所需的平均毫秒数

NET
统计传输层与网络层的数据传输情况,如下图所示|

transport行统计传输层TCP和UDP协议的数据传输情况,network行统计网络层IP协议数据报的传输情况,网络接口名(如eth0,lo)行统计各个网络接口数据传输情况

transport
|tcpi |接收到的TCP段数量,包括错误接收到的TCP段的数量 tcpo 传输的TCP段数量,不包括那些只包含重传的 octets(八位字节)|

udpi 接收到的UDP数据报数量
udpo 传输的UDP数据报数量
tcpao 打开的活跃TCP数量
tcppo 被动打开的TCP数目
tcprs TCP输出重传的次数
tcpie TCP输入错误的数量
tcpor TCP输出重置的数量
udpnp 没有端口的UDP数量
udpip UDP输入错误的数量

network

ipi 显示从接口接收的IP数据报的数量,包括错误接收的数据报 ipo 本地上层协议提供的用于传输的IP数据报的数量
ipfrw 被转发到其他接口的接收到的IP数据报数量
deliv 发送到本地上层协议的IP数据报的数量
icmpi 接收到的ICMP数据报数量
icmpo 已传输的ICMP数据报数量

网络接口(如eth0,lo)

pcki 接收到的包数量
pcko 已传输的数据包数量
si 每秒接收到的有效比特数
so 每秒传输的有效比特数
coll 碰撞数
mlti 接收多播数据包的数量
erri 接收数据包时的errors数
erro 发送数据包时的errors数
drpi 接收到的数据包的丢弃数量
drpo 传输数据包的丢失数量

进程列

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

四,常用参数 (在交互模式下也可以用这些参数)

-n 显示网络信息(需要内核打补丁才能使用)
-m 显示内存相关信息(需要内核打补丁才能使用)
-d 显示磁盘读写相关(需要内核打补丁才能使用)
-g 查看默认的通用输出
-s 显示调度特点:每个进程的以下字段所示:进程的ID,运行状态(R)的线程数、中断状态的睡眠线程S(TLSPI)和不可中断睡眠线程D (TSLPU) 数,调度策略(分时调度策略,实时时间片轮转策略,实时调度策略FIFO),nice值,优先级(PRI),实时优先级(RTPR),当前的处理器,状态,退出代码,进程状态,cpu利用率和进程名。
-v 显示各种进程特性:每个进程的以下字段所示:进程ID(PID),父进程ID(PPID)、用户名(USERNAME)和组(GROUP),开始日期和时间,状态(例如,退出代码,如果该进程已完成),进程状态(ST)(D:不可终止进程、 R:正在运行进程 、 T:暂停进程、S:休眠进程、Z:僵尸进程……),CPU占用率和进程名。
-c 以命令行command-line的形式显示:每个进程有以下字段所示:进程的ID,所选资源占用百分比和命令行参数,
-u 以用户的形式显示:以下字段显示:在上一间隔时间内活动或终止的进程数,上一时间间隔内cpu在系统模式和用户模式的消耗,活动进程对虚拟内存和现有内存的消耗。当安装的cnt补丁后会显示读(RDDSK)写(WRDSK)到磁盘上的数据量,以及所收到(RNET)和发送(SNET)的网络数据包,内核补丁没有安装时这些计数器为零。最后一栏显示CPU百分比和用户名。
-p 以进程名的形式显示信息:和-u类似只是最后显示的是进程名
-M 按照占用物理内存百分比大小进行排列
-D,按照访问磁盘的繁忙程度进行排序
-N 按照接受和发送的网络数据包排序
-A 依据当前系统最繁忙的资源进行排序,可能有ACPU、AMEM、ADSK或者ANET

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)等

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

linux 之atop 系统监控工具相关推荐

  1. 【dstat】Linux上全能系统监控工具dstat的安装和使用

    一.安装dstat # yum -y install dstat # yum info dstat 二.相关使用 命令参数 在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多 ...

  2. Linux - nmon - IBM系统监控工具nmon命令详解(2)

    首先看看nmon命令的帮助信息: [java] view plaincopy [root@linux nmon]# ./nmon.sh -h Hint: nmon.sh [-h] [-s ] [-c ...

  3. linux 20个系统监控工具

    http://hi.baidu.com/imlidapeng/blog/item/76cc8b15bf38265af2de32cc.html 转载于:https://blog.51cto.com/ta ...

  4. linux ps 只显示端口,这30个Linux系统监控工具,每个系统管理员都应该知道

    是否需要监控Linux服务器的性能?试试这些内置的命令和附加工具.大多数发行版都附带了大量的Linux监控工具,这些工具提供了可以用来获取系统活动信息的指标.你可以使用这些工具来查找性能问题的可能原因 ...

  5. 管理员必备的Linux系统监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...

  6. linux pdm 查看工具,linux系统监控工具

    通过系统监控可以了解系统的运行状态.及时发现异常.分析原因.提早解决,避免系统故障,确保用户对系统的感知度和满意度.IPTV系统一般是通过告警管理.日志管理.信令跟踪.探针.诊断测试来实现对系统的监控 ...

  7. 管理员必备的20个Linux系统监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...

  8. linux下网口监控软件_管理员必备的20个Linux系统监控工具 | 旺旺知识库

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...

  9. Linux 系统监控工具链

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

最新文章

  1. 正经聊一聊脑机接口的发展现状|脑科学开放日
  2. spring入门详细教程(五)
  3. Microbit扩展编写
  4. powerdesigner基本使用 - 创建概念模型
  5. 寒假每日一题(入门组)【week6 完结】
  6. vue 怎么在字符串中指定位置插入字符_vue项目中在可编辑div光标位置插入内容的实现代码...
  7. 练打字-测试看图说话(AD安装)
  8. 装了linux开机出现错误,[已解决]安装完,启动出现错误!
  9. python学爬虫、还没放出来_Python 爬虫学习没思路?可以看看这篇文章
  10. linux 查看所有存在的线程
  11. mysql子查询去重,将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量...
  12. WordPress小程序搭建之免费开源小程序
  13. 华为网络篇 传输文件-08
  14. 非线性方程的数值解法:二分法的MATLAB实现
  15. 第九届蓝桥杯国赛 调手表
  16. [Excel知识技能] Excel数据类型
  17. APICloud进行窗口和页面操作
  18. 免费AI数据标注工具-音频标注软件
  19. 前端代码 (html css JavaScript DOM JSON)
  20. mysql毕业生信息管理系统,本科毕业设计信息管理系统的设计(Struts,MySQL)

热门文章

  1. ResNet-50 结构
  2. 【CV系列】扫描线算法区域填充
  3. SpringBoot下Redis切换db
  4. TreeView的用法
  5. GIC/ITS代码分析(2)GICv3驱动初始化
  6. 英语语法篇 - 查漏补缺
  7. Apache Kudu 与 Impala Shell 的结合使用文档(创建表、删、改、查)
  8. LintCode 644. 镜像数字 JavaScript算法
  9. Request请求转发与URL编码
  10. 激活函数的作用是什么?