当前位置: 首页 > news >正文

生产环境中atop命令使用总结

目录

1. 安装方式

2. 修改配置文件

3. 设置开机自启

4. 使用指南

4.1 实时监控(类似 top)

4.2 查看历史记录

4.3 常用快捷键

4.4 常用命令行参数

5. 界面解读

5.1 上半部分:系统级资源概览 (System Level Statistics)

5.2 下半部分:进程/线程级资源详情 (Process Level Statistics)

6. 应用场景

6.1 实时诊断性能瓶颈

6.2 故障回溯

6.3 监控特定资源

6.4 识别资源消耗大户

6.5 安全审计 (辅助)

7. 浏览器访问 Web 界面


1. 安装方式

sudo yum install -y atop      # CentOS/RHEL
sudo dnf install -y atop      # RHEL/CentOS 8/Fedora
sudo apt install -y atop      # Ubuntu/Debian
sudo zypper install -y  atop  # openSUSE
sudo pacman -S atop           # Arch Linux

2. 修改配置文件

修改/etc/sysconfig/atop 或 /usr/share/atop/atop.daily(CentOS)或/etc/default/atop(Ubuntu)

设置监控周期(如60秒)、日志保留时间(如15天)及存储路径

LOGINTERVAL=60            #采样间隔​​
LOGGENERATIONS=15         #保留最近15天日志
LOGPATH=/var/log/atop     #​​日志路径,若自定义OGPATH指定日志存储目录(需提前创建目录并设置权限)

3. 设置开机自启

sudo systemctl  enable   atop   --now

4. 使用指南

4.1 实时监控(类似 top

4.2 查看历史记录

atop   -r   [日志文件路径]

4.3 常用快捷键

这些是 atop 最强大的功能之一,可以动态改变显示内容和排序:

  • g: 切换回概览模式 (默认视图)。

  • m: 按内存使用 (%MEM) 降序排序进程。

  • d: 按磁盘活动 (DSK) 降序排序进程(显示每个进程的读写速率)。排查 I/O 瓶颈利器!

  • n: 按网络活动 (NET) 降序排序进程(显示每个进程的网络流量)。排查网络流量利器!

  • c: 按 CPU 使用 (%CPU) 降序排序进程 (默认)。

  • a: 按最活跃资源自动排序进程 (atop 会根据系统瓶颈自动选择排序方式,如高 CPU 时按 CPU 排,高 I/O 时按 I/O 排)。

  • t: 在进程/线程视图之间切换 (需要启动时加 -y 才有效)。

  • u/U: 只显示属于特定用户的进程。按 u 后输入用户名。

  • f添加/移除显示字段。非常灵活,可以定制显示哪些进程级指标(如 PPID, 启动时间, 优先级等)。按 f 后根据提示选择字段。

  • l: 限制显示资源消耗超过阈值的进程。按 l 后输入 CPU 或 MEM 的百分比阈值。

  • h: 显示帮助信息,列出所有可用快捷键。

  • q退出 atop。

  • k杀死选中的进程 (会提示输入信号,默认 SIGTERM=15)。

  • i: 改变刷新间隔 (秒)。默认是采样间隔(安装时配置,通常 10 秒)。

  • +/-: 在查看历史日志 (atop -r) 时,向后/向前跳转一个采样点。

  • b: 在查看历史日志时,跳转到指定时间点。按 b 后输入时间 (格式 YYYYMMDD hh:mm)。

  • R反向当前排序顺序。

4.4 常用命令行参数

  • atop -r [file]: 回放指定的历史日志文件。

  • atop -b YYYYMMDD hh:mm: 回放历史日志,并直接跳转到指定时间点。

  • atop -y: 在线程级别显示信息 (需要内核支持)。

  • atop -1: 只显示一次采样结果(类似 vmstat 1 1)然后退出。结合 -b 或 -r 可用于脚本分析历史。

  • atop -w [file]: 将实时监控数据写入指定的原始数据文件 (.atop 格式,只能用 atop -r 读取)。

  • atop -P [资源码]: 启动时只显示特定的资源视图 (e.g., atop -P CPU 只显示 CPU 相关视图, atop -P MEM 只显示内存, atop -P ALL 显示全部)。资源码可以是:

    • CPUCPL (负载), MEMSWPPAGDSKNETPRG (进程), PRM (进程内存), PRD (进程磁盘), PRN (进程网络), ALL (全部)

  • atop -a: 启动时按最活跃资源 (a) 排序进程。

  • atop -d: 启动时按磁盘活动 (d) 排序进程。

  • atop -m: 启动时按内存 (m) 排序进程。

  • atop -c: 显示完整的命令行 (而不是截断的)。

  • atop -u [user]: 只显示指定用户的进程。

5. 界面解读

运行 atop 后,屏幕分为两部分

  • 5.1 上半部分:系统级资源概览 (System Level Statistics)

    • PRC (Process Summary): 进程/线程总数、运行中、睡眠中、僵尸进程数量。

    • CPU (Processor Utilization):

      • sys: 内核空间占用 %。

      • user: 用户空间占用 %。

      • irq: 硬件中断占用 %。

      • idle: 空闲 %。

      • wait: I/O 等待 % (重要!高值通常表示磁盘瓶颈)。

      • steal: (虚拟化环境) 被 Hypervisor 偷走的 CPU %。

      • guest: (虚拟化环境) 运行客户机占用的 CPU %。

      • curscal: 当前 CPU 频率缩放比例 (相对于基础频率)。

      • 通常按 All (所有核心总和) 和 各逻辑核心 分别显示。

    • CPL (CPU Load): 1 分钟、5 分钟、15 分钟的平均负载 (avg1avg5avg15)。

    • MEM (Memory Utilization):

      • tot: 物理内存总量。

      • free: 完全空闲内存。

      • cache: 页缓存 (可回收)。

      • buff: 缓冲区内存。

      • slab: 内核 Slab 缓存。

      • dirty: 脏页(等待写回磁盘)。

      • active: 活跃内存。

      • inact: 非活跃内存。

      • vmcom: 所有进程申请的总虚拟内存 (VSZ)。

      • vmlim: 虚拟内存上限。

      • vmuse: 实际使用的虚拟内存 (RSS 总和,但注意 RSS 有共享页重复计算问题)。

      • swap: Swap 总量、已用、空闲。

    • SWP (Swap Activity): 换入 (si)/换出 (so) 的页面数 (KB/s)。

    • PAG (Paging Activity): 页换入 (pi)/页换出 (po) 的页面数 (KB/s),以及扫描 (scan) 的页面数 (高值可能表示内存压力)。

    • DSK (Disk Utilization): 按物理磁盘 (sdasdb 等) 或逻辑卷显示:

      • busy: 磁盘忙碌时间百分比。

      • read/write: 读/写请求数 (次/秒)。

      • KiB/r/KiB/w: 平均每次读/写的数据量 (KiB)。

      • MBr/s/MBw/s: 读/写吞吐量 (MB/s)。

      • avq: 平均队列长度。

      • avio: 平均 I/O 服务时间 (毫秒)。

    • NET (Network Utilization): 按网络接口 (eth0wlan0 等) 和协议层 (TCP, UDP) 显示:

      • sp: 接口速度 (Mbps)。

      • pcki/pcko: 收/发包数 (个/秒)。

      • sp/si: 收/发包速度 (KB/s)。

      • coll: 冲突数 (有线网络)。

      • err/drp: 错误/丢包数。

      • tcpi/tcpo/udpi/udpo: TCP/UDP 收/发包数。

      • tcpao/tcpie/...: TCP 活动打开/被动打开/连接失败等状态计数。

  • 5.2 下半部分:进程/线程级资源详情 (Process Level Statistics)

    • 默认按 CPU 使用率 (%CPU) 降序排序。显示每个进程/线程的关键信息:

      • PID: 进程 ID。

      • TID: 线程 ID (如果使用 -y 选项)。

      • SYSCPU: 进程在内核态消耗的 CPU 时间。

      • USRCPU: 进程在用户态消耗的 CPU 时间。

      • VGROW: 虚拟内存增长量 (VSZ 变化)。

      • RGROW: 常驻内存增长量 (RSS 变化)。

      • RUID: 进程的实际用户 ID。

      • EUID: 进程的有效用户 ID。

      • ST: 进程状态 (R=运行, S=睡眠, D=不可中断睡眠, Z=僵尸, T=停止)。

      • EXC: 进程退出状态码 (如果已退出)。

      • THR: 进程包含的线程数。

      • S: 进程状态 (同 ST)。

      • %CPU: CPU 使用率百分比 (所有核心总和)。

      • %MEM: 内存使用率百分比 (RSS 占物理内存的比例)。

      • CPU: 进程最后运行所在的 CPU 核心编号。

      • CMD: 命令名 (启动进程的命令行)。

6. 应用场景

  • 6.1 实时诊断性能瓶颈

    • 发现 CPU 的 wait 高 -> 按 d 看哪个进程/磁盘 I/O 高。

    • 发现 PAG 的 scan 高或 SWP 的 si/so 高 -> 按 m 看哪个进程占用内存多。

    • 发现网络 err/drp 高 -> 按 n 看哪个进程流量大或检查物理接口状态。

    • 发现某个进程持续高 CPU -> 按 c 确认,可能需要进一步分析 (strace, perf)。

    • 发现僵尸进程 (PRC 的 zombie > 0) -> 在进程列表 (ST=Z) 中查看。

  • 6.2 故障回溯

    • 系统昨晚突然变慢 -> 用 atop -r /var/log/atop/atop_20240809 回放昨天的日志。

    • 定位到大概时间 -> 用 b 跳转到具体时间点 (e.g., b 20240809 02:30)。

    • 用 gmdn 等键查看当时的系统资源瓶颈和罪魁祸首进程。

  • 6.3 监控特定资源

    • atop -P DSK:专注监控磁盘 I/O。

    • atop -P NET:专注监控网络。

    • atop -P PRM, PRD:专注看进程的内存和磁盘使用。

  • 6.4 识别资源消耗大户

    • 定期运行 atop -a 让 atop 自动高亮最耗资源的进程。

    • 用 l 过滤掉消耗小的进程。

  • 6.5 安全审计 

    • 检查异常时间段 (b) 的进程 (uf 查看 UID/EUID/CMD)。

    • 检查异常网络连接 (n, 结合 netstat/ss 更佳)。

7. 浏览器访问 Web 界面

若需远程查看,可结合 gotop 工具搭建 Web 前端:

go get github.com/bsmack/gotop
GOTOP_OPTS="--server --port 8080" ./gotop --source=/var/log/atop/atop.log

    http://www.lryc.cn/news/617046.html

    相关文章:

  • FreeRTOS 任务与中断函数:运行机制、关键区别与使用准则
  • GC如何判断对象可以被回收?
  • 利用容器编排完成haproxy和nginx负载均衡架构实施
  • 【代码随想录day 15】 力扣 222.完全二叉树的节点个数
  • 【Python 小脚本·大用途 · 第 2 篇】
  • Day11 原理篇
  • afsim2.9_使用QtCreator和VSCode编译
  • Excel版经纬度和百分度互转v1.1
  • 第二章、LSTM(Long Short-term Memory:长短时记忆网络)
  • 基于python/django框架的车型识别系统
  • iptables -F 与 iptables -X
  • 基于Django的图书馆管理系统的设计与实现
  • 精准计算Word文档页数的PHP类
  • foxmail网站邮箱网络营销策略论文
  • 自己做网站排名好吗天津seo推广
  • 长春网站策划制作网页的代码
  • 我想创建一个网站sem 优化价格
  • 网站开发虚拟主机管理系统nba西部最新排名
  • 四川建设部网站官网温州最好的seo
  • 成都建设网站哪个好seo外包杭州
  • 南京学习做网站独立站搭建要多少钱
  • 北京网页设计学校成都sem优化
  • 网站建设方案书 个人做百度推广一个月多少钱
  • 一级a做爰片试看 免费网站百度竞价ocpc
  • php做公司网站seo网站推广怎么做
  • 常州微网站建设游戏搬砖工作室加盟平台
  • 中建建设银行网站北京今日重大新闻
  • wordpress做下载站百度推广代运营公司
  • 网站空间数据库专门看广告的网站
  • 电商网站话费充值怎么做北京推广优化经理