在Centos中安装、配置与使用atop监控工具
目录
- 前言
- 1. atop工具的安装
- 1.1 atop简介
- 1.2 atop的安装步骤
- 2. 安装并配置netatop模块
- 2.1 安装内核开发包
- 2.2 安装所需依赖
- 2.3 下载netatop
- 2.4 解压并安装netatop
- 2.5 启动netatop
- 3. atop的配置与使用
- 3.1 配置监控周期与日志保留时间
- 3.2 设置定时任务生成日志
- 3.3 启动与查看atop服务状态
- 4. 分析atop日志
- 4.1 atop日志分析命令
- 4.2 atop常用快捷键说明
- 5. atop输出的关键指标
- 结语
前言
在日常运维中,系统性能监控是保持服务器稳定运行的关键。特别是在企业环境中,保障服务稳定、高效地运行对业务至关重要。atop作为一款功能强大的Linux系统监控工具,能够详细报告系统资源和各进程的使用情况,从而帮助管理员快速定位并解决问题。本文将介绍如何在Centos中安装、配置并使用atop监控工具,包括网络监控模块netatop的安装及使用,帮助您在Centos中实现系统性能的全面监控。
1. atop工具的安装
1.1 atop简介
atop是一款用于监控Linux系统资源的工具,能够详细报告所有进程的活动,并以日志文件的形式保存这些信息。其监控内容涵盖了CPU、内存、磁盘、网络的使用情况,甚至可以查看进程的详细资源使用情况,如CPU使用率、内存占用、磁盘读写等。atop的优势在于其能够长期记录系统的性能情况,即使系统或进程发生了崩溃,也可以通过atop日志进行问题分析。
1.2 atop的安装步骤
在Linux环境下,atop的安装非常简单,您可以通过如下命令进行安装:
sudo yum install atop
安装完成后,atop便可以立即用于监控系统的实时性能。对于监控网络使用情况,atop提供了额外的netatop模块,支持实时查看每个进程的网络流量信息。接下来,我们将详细介绍如何安装和配置netatop模块。
2. 安装并配置netatop模块
2.1 安装内核开发包
在安装netatop之前,首先需要安装内核开发包,这是为了确保系统具备编译所需的环境。执行以下命令安装内核开发包:
sudo yum install kernel-devel-$(uname -r)
该命令根据当前正在使用的内核版本,自动匹配对应的开发包进行安装。
2.2 安装所需依赖
netatop还依赖于elfutils-libelf-devel包,您可以通过以下命令安装该依赖:
sudo yum install elfutils-libelf-devel
2.3 下载netatop
接下来,下载netatop的安装包,具体操作如下:
sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate
此命令将从官方源下载最新的netatop安装包。
2.4 解压并安装netatop
下载完成后,解压安装包:
tar -zxvf netatop-3.1.tar.gz
解压后,切换到解压的目录:
cd netatop-3.1
然后,编译并安装netatop:
sudo make && sudo make install
2.5 启动netatop
最后,启动netatop服务,确保其开始工作:
sudo systemctl start netatop
至此,您已成功安装并启动netatop模块,接下来可以配合atop工具实时监控网络使用情况。
3. atop的配置与使用
3.1 配置监控周期与日志保留时间
默认情况下,atop每600秒采集一次系统信息,日志保留时间为28天。这些配置可能并不适合您的实际需求,因此需要手动修改配置文件。
-
执行以下命令打开atop配置文件:
sudo vim /etc/sysconfig/atop -
进入文件后,按下
i进入编辑模式,并进行如下配置修改: -
将监控周期
LOGINTERVAL修改为30秒。 -
将日志保留时间
LOGGENERATIONS设置为7天。 -
确保日志文件的路径为
/var/log/atop。
最终配置如下:
LOGOPTS=""
LOGINTERVAL=30
LOGGENERATIONS=7
LOGPATH=/var/log/atop
按Esc键,输入:wq保存并退出编辑。
3.2 设置定时任务生成日志
为保证日志每天生成一次,您可以通过cron任务设置自动重启atop服务。执行以下命令进入crontab配置:
crontab -e
在文件末尾添加以下任务:
0 0 * * * sudo systemctl restart atop
该配置将每天0点自动重启atop服务,确保日志生成。
3.3 启动与查看atop服务状态
配置完成后,您需要重启atop服务以应用配置:
sudo systemctl restart atop
随后,您可以通过以下命令检查服务状态是否正常运行:
sudo systemctl status atop
如果服务正常,输出中将显示active (running)状态。
4. 分析atop日志
4.1 atop日志分析命令
atop启动后,会在/var/log/atop目录中生成日志文件。要查看特定时间点的日志,您可以使用如下命令:
atop -r /var/log/atop/atop_2024XXXX
其中,2024XXXX代表日志文件的日期。打开日志后,可以通过不同的快捷键筛选和查看感兴趣的系统信息。

4.2 atop常用快捷键说明
g:切换回默认的综合输出视图。c:显示进程的完整命令行信息。m:按内存使用率对进程进行排序。d:按磁盘使用率对进程进行排序。n:按网络使用率对进程进行排序。

这些快捷键能帮助您快速过滤出关键信息,例如内存占用过多的进程或网络流量异常的服务,从而进行深入分析。
5. atop输出的关键指标
在atop日志中,有几行关键信息值得关注:
- PRC行:显示进程运行情况,包括进程数、运行中进程数、睡眠进程数和僵尸进程数。
- CPU行:展示CPU的整体使用情况,包括用户态、内核态以及空闲时间等。
- MEM行:显示系统的内存占用情况,如空闲内存、缓存内存和已使用的内存。
- DSK行:展示磁盘的使用情况,如读写操作的频率和磁盘的忙碌程度。
- NET行:用于监控网络流量,包含每个网络接口的发送和接收数据量。
这些指标能帮助管理员快速了解系统资源的使用情况,从而定位瓶颈或异常点。
结语
通过本文,您学会了如何在Linux实例中安装、配置并使用atop工具进行系统监控。atop的强大功能使其成为处理系统性能问题的利器,特别是在面对ECS实例异常时,atop生成的日志可以为故障排查提供关键依据。通过合理的配置与使用,您可以充分利用atop和netatop的监控能力,确保系统资源的合理分配和使用。
相关文章:
在Centos中安装、配置与使用atop监控工具
目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…...
前端框架对比与选择:详尽分析
1. 引言 随着互联网技术的飞速发展,前端开发技术也得到了迅猛提升。无论是大型企业还是中小型开发团队,使用前端框架来简化开发过程、提升开发效率已成为一种普遍现象。如今,市场上有众多的前端框架可供选择,如React、Vue.js、Angular等,如何在这些框架中进行选择成为了开…...
FLINK SQL时区问题
SQL时区问题 在Flink SQL中,时区问题是一个需要特别关注的点,因为时区的不一致可能会导致数据的不一致性。以下是对Flink SQL时区问题的详细解释和解决方案: 一、时区问题背景 时间类型与时区: 在Flink SQL中,时间类…...
LibreOffice SDK是LibreOffice软件的开发工具包
LibreOffice SDK是LibreOffice软件的开发工具包,它提供了一系列工具和库,使得开发者可以基于LibreOffice进行扩展或开发新的应用程序。以下是对LibreOffice SDK的详细介绍: 一、下载与安装 下载地址: 可以在LibreOffice的官方网站…...
第十五届蓝桥杯C/C++学B组(解)
1.握手问题 解题思路一 数学方法 50个人互相握手 (491)*49/2 ,减去7个人没有互相握手(61)*6/2 答案:1024 解题思路二 package 十五届;public class Min {public static void main(String[] args) {i…...
在docker的容器内如何查看Ubuntu系统版本
文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境: docker 一、问题描述 由于 lsb_release -a 只能查看自己电脑(宿主机)的系统版本,如果在docker的容器内又应该如何查看Ubuntu系统版本呢ÿ…...
Google Play服务端获取订单和核销订单
官方文档地址:https://developers.google.cn/android-publisher/api-ref/rest/v3/purchases.products?hlzh-cn java依赖 <!-- google play --><dependency><groupId>com.google.apis</groupId><artifactId>google-api-services-and…...
Spring Security 与 OAuth 2.0 登录实现指南
文章目录 一、项目概述二、环境准备三、创建GitHub OAuth应用四、项目依赖配置五、配置OAuth 2.0六、创建控制器七、创建视图八、运行应用九、用户界面展示十、总结 在现代的Web应用中,安全性是一个不可忽视的因素。OAuth 2.0作为一种流行的授权框架,提供…...
02 django管理系统 - base.html模板的搭建
下面,我们正式开始XX市第X医院员工信息管理系统的开发 首先,我们项目的目录结构如下: 然后,先把模板【base.html】界面的框架搭起来 {% load static %}<!DOCTYPE html> <html lang"en"><head><m…...
ES6语法有哪些
ES6语法包括let和const声明、箭头函数、模板字符串、解构赋值、扩展运算符、类和模块化等。以下是这些特性的具体介绍: let和const声明 let声明:let允许程序员在块级作用域内声明变量,这意味着变量只在其定义的代码块(由大括号包围…...
每天一个数据分析题(五百零四)- 抽取样本
下列哪种方法,会重复抽取训练数据集中的数据,且每笔被抽中的概率始终保持一样? A. 袋装法(Bagging) B. 提升法(Boosting) C. 支持向量机(SVM) D. 以上皆是 数据分析…...
SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试
SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试 概念及计算逻辑: 动态安全库存(Dynamic Safety stock): 它根据平均的日需求(Average daily requirements)数量&am…...
什么是TDZ?在JavaScript当中怎么避免?
简介 TDZ 是 Temporal Dead Zone(暂时性死区)的缩写,是 JavaScript 中 let 和 const 变量的一个概念。在 ES6 中,let 和 const 引入了块级作用域(block scope),而它们声明的变量在声明之前的作…...
电阻分压电路:【图文讲解】
在电子电路中,电阻同样发挥着重要作用,同时也是一个最基本的元器件,电阻在电路中可以起到限流、分流、分压、发热的作用。 本节,我们重点来聊聊电阻的分压电路。如下图,是一个经典的电阻分压电路。 1:电路…...
【AI论文精读14】RAG论文综述2(微软亚研院 2409)P6(完)-隐含推理查询L4
AI知识点总结:【AI知识点】 AI论文精读、项目、思考:【AI修炼之路】 P1,P2,P3,P4,P5 六、隐藏推理查询(L4) ps:P2有四种查询(L1,L2,L3…...
FFmpeg的简单使用【Windows】--- 视频倒叙播放
实现功能 点击【选择文件】按钮可以选择视频,当点击【开始处理】按钮之后,会先将视频上传到服务器,然后开始进行视频倒叙播放的处理,当视频处理完毕之后会将输出的文件路径返回,同时在页面中将处理好的视频展示出来。…...
5分钟了解docker的Swarm机制
Swarm框架概述 1.1 Swarm的基本概念 在容器化技术的浪潮中,Docker无疑是最为耀眼的明星之一。而作为Docker生态系统中的重要组成部分,Swarm框架则扮演着至关重要的角色。Swarm,顾名思义,就是“群”的意思,它是一个开…...
python实现ppt转pdf
要实现将PPT文件转换为PDF文件,可以使用Python中的python-pptx库来读取PPT文件,并使用reportlab库来生成PDF。又或者,你也可以使用其他库如pypdf和pypptx等进行处理。 以下是一个使用unoconv工具以及Python的示例,可以将PPT转换为…...
VS2017 编译 SQLite3 动态库
首先官方下载源码: Tags sqlite/sqlite (github.com) 1.安装 VS2017 community edition 2.打开VS2017命令行工具 3.安装TCL 开发库,推荐 TCL 9.0 先下载源码: Tcl/Tk 9.0 使用vs2017编译tcl&...
Linux运维_Apache更改默认网站目录
1.首先创建目录 并且在目录下新建测试文件 index.html mkdir -p /home/test/ap_web 直接wget 百度官网 wget www.baidu.com 2.编辑配置文件 /etc/apache2/sites-available/000-default.conf(找到 DocumentRoot)更改为刚刚创建的目录 接着在添加 最终文件: 3.给文件 添加属…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
