系统管理员高度使用Linux top命令来实时显示系统正常运行时间和平均负载 , 使用内存 , 正在运行的任务 ,进程或线程摘要以及每个正在运行的进程的详细信息。
但是,除了实时查看正在运行的系统,还可以使用-b
标志(指示top以批处理模式运行)和-n
标志指定命令应该输出的迭代量,将top命令输出保存到文件中。
在下面的例子中,我们将把top命令的输出重定向到当前工作目录下的top.txt
文件。 -n参数将被用来发送命令的一个快照到提到的文件。
$ top -b -n 1 > top.txt
要读取结果文件,请使用命令行文件读取器实用程序(如cat命令) , 少于或多个 。
$ less top.txt
查看顶层命令的输出
要抓取top命令的五次迭代,按照下面的摘录执行命令。
$ top -b -n 5 > top-5iterations.txt
为了仅显示结果文件中正在运行的任务的数量,请使用grep过滤器 ,如下面的命令示例所示。
$ cat top-5iterations.txt | grep Tasks
显示前5个运行任务
要在顶部实用程序中获取特定进程的快照,请使用PID (-p)
标志执行命令。 要获取正在运行的进程的PID,请针对正在运行的进程的名称发出pidof命令 。
在这个例子中,我们将通过获取三个PID快照,通过top命令监视cron进程。
$ pidof crond $ top -p 678 -b -n3 > cron.txt $ cat cron.txt
观看顶部命令中的进程使用情况
使用迭代循环,我们可以通过PID每两秒显示一个进程统计信息,如下面的例子所示。 循环的输出也可以被重定向到一个文件。 我们将使用与上例所示相同的cron PID。
$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done
将循环输出重定向到文件。
$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt $ cat cron.txt
查找Linux进程统计信息
这些只是关于如何通过顶层命令监视和收集系统和处理统计数据的一些示例。