专栏首页皮振伟的专栏[linux][system]atop的介绍和使用

[linux][system]atop的介绍和使用

前言 Linux上运行大量的后端的业务程序,往往希望得到更快的响应速度,更小的延迟,甚至有严格的PCT 99的指标。而操作系统的复杂度很高,多个因子之间可能会互相影响,从而影响到业务的指标。 在作者的工作环境中,经常使用到atop工具进行问题分析。atop是一个小巧的、高性能、比较全面的系统/进程级别的监控软件,下面就来介绍一下它的主要功能。 分析 源代码 源代码目前主要维护在github上面,https://github.com/Atoptool/atop 代码的原作者也是现在的maintainer通常会在几周甚至个把月的时间处理一下Pull Request,如果有新的改动需要合入到upstream,还是需要一点耐心的。 基本原理介绍 在源代码中的atop.c中有如下描述:

atop周期性(默认10s,可调整)的采集系统以及进程的指标,进行差分计算,然后把计算的结果打印到屏幕,或者输出的文件。 常见的用法 如果是输出到屏幕,效果如下:

从图中可见,主要分成了两个部分,上面是系统的指标采集,下面是进程的指标的采集。 其中系统的指标中,包括: 进程概况:总数量,在采集的时间内新创建的数量和退出的数量等等 CPU概况:CPU的总概况以及per-cpu的统计,包括内核态、用户态、irq、idle、steal等采集,还有IPC(Instruction Per Cycle)和主频的信息。 内存概况:总内存、空闲内存、cache、dirty、cache等等。 磁盘信息:盘的IOPS和吞吐等信息。 网络:PPS和带宽检测。 以及其他的GPU、NFS等监控。 总体来看,atop的输出更像是top+iostat+sar的输出的组合。 另外一种用法,就是让atop以后台的方式运行,把数据采集并记录到本地的文件中。可以适当调整启动参数(推荐10s的采集间隔),使用systemctl start atop.service启动之后,atop就会把采集到的信息写入到磁盘之中。如果发生了问题,想要回看当时的系统/进程的情况,可以使用atop -r /var/log/atop/atop_dddd -b hh:mm,可以查看dddd日期的hh:mm记录的数据。同时,可以使用t键向下一帧查看,或者shift+t回看上一帧。 在作者的工作环境中,其中这种用法更加广泛。atop每10s相当于给系统的状态做了一个快照,我们找到出现问题的时间点,然后通过atop来发现是否有异常。 更多的使用 在atop的页面上,按y键,可以看到线程级别的数据。

按d键,可以看到IO的情况

按m键,可以看到内存的详细数据

按c键看到详细的参数

以及按g恢复到常规视图,按j可以看到以container聚合的视图(非常适合docker场景),按l调整显示的各项数据等等。 需要注意的时候,atop采集数据的时候,尽量不要加入R选项,因为采集Pss的内存信息会引入内核级别的进程内存锁竞争,导致业务进程的延迟抖动。

本文分享自微信公众号 - AlwaysGeek(gh_d0972b1eeb60),作者:AlwaysGeek

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • atop使用介绍

    atop用来监控系统资源与进程的工具,默认是以10s为间隔,来记录系统的运行状态,并且会以每隔10分钟记录一次采集数据到日志中。

    dogfei
  • Linux atop监控

    atop是一个功能非常强大的linux服务器监控工具,它的数据采集主要包括:CPU、内存、磁盘、网络、进程等,并且内容非常的详细,特别是当那一部分存在压力它会以...

    sunsky
  • Linux性能回溯工具-sysstat、atop、oswatch、nmon

    在企业应用中,除了经常会用到企业级的性能监控和告警工具(如nagios、zabbix、Prometheus),还会在服务器设备出现性能问题时,可以通过部署一些可...

    start.zhou
  • 腾讯云cvm的关于监控指标的相关解释

    平常处理服务器的问题遇到的最多的是负载高了,内存高了,io高了等问题,这里最明显的表现就是相关的监控指标了,对于诊断这种问题起到事半功倍的效果。

    云售后焦俊成
  • 在Linux中查看所有正在运行的进程的方法

    可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。

    砸漏
  • 每天学一个 Linux 命令(117):atop

    atop 命令是一款监控 Linux 系统资源与进程的工具,非内部命令,需要安装。

    民工哥
  • Linux实用监控工具 atop

    atop就是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行...

    Ronald-Leung
  • [linux][atop]atop的改进和在统计io上遇到的问题

    前言 互联网公司一般都会运行着几千到几万的服务器。一般的监控会采用类似ganglia/falcon类似的工具,在本地启动一个agent,把数据统计上报到集中式的...

    皮振伟
  • NVIDIA System Profiler 使用介绍(中文字幕)

    NVIDIA System Profiler(前身为Tegra System Profiler)是一个系统跟踪和多核CPU call stack采样的分析器,它...

    GPUS Lady

扫码关注云+社区

领取腾讯云代金券