top命令是最常用的工具之一,可以快速了解Unix系统的性能。它可以告诉您哪些进程正在占用您的CPU,哪些进程正在使用太多的内存,以及您的工作负载是什么样的。输出很容易理解,命令也很灵活。另一方面,对于“此时此刻”之外的性能检查,top很少是任何人的选择,但它确实提供了一个选项,可以让您以自动化的方式捕获性能数据,并且对于它收集的大型性能数据样本非常灵活。要以非立即(即“批处理”)方式使用top命令,首先要查看的是-b选项。但是,您不会希望将此作为唯一的选项,因为命令将在快速循环中运行(大约每3秒运行一次),并且它本身将成为捕获的输出中查看的更重要的任务之一。相反,使用-d (delay)选项来指定在top命令的每次迭代之间需要等待多长时间。为了限制top命令将要进行的迭代次数,可以使用-n(迭代次数)选项。在批处理模式下每15秒运行4次的top命令如下所示:
$ top -b -d 15 -n
当然,在半夜通过cron运行该命令可能不是很有用,除非您对输出做了一些操作,以便在您想查看在您睡着时发生了什么时可以检查它。将输出重定向到一个文件,所有四个性能数据示例都将等待您。
$ top -b -d 15 -n 4 > /tmp/top$
这个命令将在命令行上运行,创建一个名称类似/tmp/top20753的文件。要将它转换为一个cron作业,只需指定何时使用cron行运行它,如下所示:
0 1 * * * /usr/bin/top -b -d 15 -n 4 > /tmp/top$$ . * * *
这个命令将保存从凌晨1点开始的4个顶部输出样本。显然,您可以捕获并保存您认为可能需要的尽可能多的样本,以评估系统在您不在办公桌上的几个小时内对处理需求的响应情况。例如,您可以了解在您的系统上放置了多少负载备份或其他夜间处理。使用top的批处理模式的另一个好处是它可以向你展示所有运行的进程,而不仅仅是你输入时看到的前20个左右前.试一试Top -b -n 1你就会明白我的意思了。
阅读更多的雷竞技投注下载桑德拉·亨利-斯托克的Unix第二语言博客并关注最新的这新闻ITworld,推特和脸谱网.