一、top命令的基本使用
top命令是一款常用的Linux系统监控工具,可以实时显示当前系统运行的进程列表以及进程的CPU、内存情况等信息。使用top命令可以方便地监控系统的性能,发现系统异常。
top命令的基本使用方法如下:
$ top
执行上述命令后,会显示当前系统运行的进程列表,以及各个进程的CPU占用情况、内存占用情况等信息。top命令默认情况下按照CPU使用率降序排序,并以百分比形式显示CPU使用率。
二、top命令中的CPU监控功能
在默认情况下,top命令会实时显示各个进程的CPU占用情况,但是我们还可以使用top命令的一些选项来实现更精确的CPU监控。
1. top命令的-b选项
使用-b选项可以让top命令在后台运行,并将监控数据输出到指定的文件中。例如:
$ top -b -d 1 > cpu.log &
上述命令中,-b选项表示在后台运行top命令,-d 1表示每秒更新一次监控数据,将监控数据输出到cpu.log文件中。
2. top命令的-c选项
使用-c选项可以让top命令显示当前运行进程的完整命令行信息,包括进程的参数等信息。例如:
$ top -c
上述命令中,-c选项表示显示完整命令行信息。
3. top命令的-H选项
使用-H选项可以让top命令显示各个进程的线程信息,包括每个进程有多少个线程以及各个线程的CPU占用情况等。例如:
$ top -H
上述命令中,-H选项表示显示线程信息。
4. top命令的-p选项
使用-p选项可以让top命令监控指定进程的CPU占用情况,只显示指定进程的监控数据。例如:
$ top -p 1234
上述命令中,-p选项后面跟着要监控的进程PID,表示只监控该进程的CPU占用情况。
5. top命令的-n选项
使用-n选项可以让top命令设置显示的进程数量。例如:
$ top -n 5
上述命令中,-n选项后面跟着要显示的进程数量,表示只显示当前CPU使用率最高的5个进程。
三、代码示例
下面是一个使用top命令监控CPU占用情况的Python脚本示例:
import os import time def get_cpu_usage(pid): """ 获取指定进程的CPU占用率 """ cmd = "top -b -n 1 -p %d | tail -n 1 | awk '{print $9}'" % pid with os.popen(cmd, 'r') as f: return float(f.read().strip()) if __name__ == '__main__': pid = os.getpid() while True: cpu_usage = get_cpu_usage(pid) print('CPU usage: %.2f%%' % cpu_usage) time.sleep(1)
上述代码中,使用os.popen函数执行top命令获取指定进程的CPU占用率。
可以根据需要自行修改脚本中的top命令选项,以实现更精确的CPU监控。