linux 之atop 系统监控工具
一、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 系统监控工具相关推荐
- 【dstat】Linux上全能系统监控工具dstat的安装和使用
一.安装dstat # yum -y install dstat # yum info dstat 二.相关使用 命令参数 在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多 ...
- Linux - nmon - IBM系统监控工具nmon命令详解(2)
首先看看nmon命令的帮助信息: [java] view plaincopy [root@linux nmon]# ./nmon.sh -h Hint: nmon.sh [-h] [-s ] [-c ...
- linux 20个系统监控工具
http://hi.baidu.com/imlidapeng/blog/item/76cc8b15bf38265af2de32cc.html 转载于:https://blog.51cto.com/ta ...
- linux ps 只显示端口,这30个Linux系统监控工具,每个系统管理员都应该知道
是否需要监控Linux服务器的性能?试试这些内置的命令和附加工具.大多数发行版都附带了大量的Linux监控工具,这些工具提供了可以用来获取系统活动信息的指标.你可以使用这些工具来查找性能问题的可能原因 ...
- 管理员必备的Linux系统监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- linux pdm 查看工具,linux系统监控工具
通过系统监控可以了解系统的运行状态.及时发现异常.分析原因.提早解决,避免系统故障,确保用户对系统的感知度和满意度.IPTV系统一般是通过告警管理.日志管理.信令跟踪.探针.诊断测试来实现对系统的监控 ...
- 管理员必备的20个Linux系统监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- linux下网口监控软件_管理员必备的20个Linux系统监控工具 | 旺旺知识库
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- Linux 系统监控工具链
摘要 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因 ...
最新文章
- 正经聊一聊脑机接口的发展现状|脑科学开放日
- spring入门详细教程(五)
- Microbit扩展编写
- powerdesigner基本使用 - 创建概念模型
- 寒假每日一题(入门组)【week6 完结】
- vue 怎么在字符串中指定位置插入字符_vue项目中在可编辑div光标位置插入内容的实现代码...
- 练打字-测试看图说话(AD安装)
- 装了linux开机出现错误,[已解决]安装完,启动出现错误!
- python学爬虫、还没放出来_Python 爬虫学习没思路?可以看看这篇文章
- linux 查看所有存在的线程
- mysql子查询去重,将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量...
- WordPress小程序搭建之免费开源小程序
- 华为网络篇 传输文件-08
- 非线性方程的数值解法:二分法的MATLAB实现
- 第九届蓝桥杯国赛 调手表
- [Excel知识技能] Excel数据类型
- APICloud进行窗口和页面操作
- 免费AI数据标注工具-音频标注软件
- 前端代码 (html css JavaScript DOM JSON)
- mysql毕业生信息管理系统,本科毕业设计信息管理系统的设计(Struts,MySQL)