历史上,Facebook 一直是 atop的忠实用户。atop是一个用于 Linux 的性能监视器,能够报告所有进程的活动以及各种系统级活动。与htop等工具相比,atop最引人注目的功能之一是能够作为一个守护程序记录历史数据。这听起来是一个简单的功能,但在实践中,这使得调试无数的生产问题成为可能。有了足够长的数据保留,就有可能在时间上回溯,查看在问题或故障发生之前、期间和之后的主机状态。
不幸的是,随着时间的推移,人们发现atop有某些不足之处。首先,控制组cgroup 已经成为控制和监视 Linux 机器上资源的实际方式。atop仍然缺乏对这一基本构建模块的支持。第二,atop用自定义的 delta 压缩方法在磁盘上存储数据。这在正常情况下运行良好,但在沉重的资源压力下,主机很可能会丢失数据点。由于使用了 delta 压缩,在数据最重要的时间段内,数据可能会大面积丢失。第三,用户体验有一个陡峭的学习曲线。我们经常听到atop的资深用户说,他们喜欢密集的布局和众多的键盘绑定。然而,这也是一把双刃剑。当一个刚进入这个领域的人想要调试一个生产问题时,他们现在要同时解决两个问题:手头的问题和如何使用atop。