Python 对服务器的全面监控(psutil用法)
在Python中获取系统信息的可以使用psutil
这个第三方模块。顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用,支持Linux/UNIX/OSX/Windows等。
import psutil
#获取cpu信息
print(psutil.cpu_count(logical=False))
#统计CPU的用户/系统/空闲时间
print(psutil.cpu_times())
#模拟top
for i in range(1):
a = psutil.cpu_percent(interval=1,percpu=True)
b = psutil.cpu_freq(percpu=False)
print(a)
print(b)
#memory
print(psutil.swap_memory())
print(psutil.virtual_memory())
#disk
print(psutil.disk_partitions())
print(psutil.disk_io_counters())
#获取网络接口和网络连接信息
print(psutil.net_io_counters())#获取网络读写字节、包的个数
print(psutil.net_if_addrs())#获取网络接口信息
print(psutil.net_if_stats())#获取网络接口状态
print(psutil.net_connections())#获取当前网络连接信息
#获得进程信息
print(psutil.pids())#多远进程ID
p = psutil.Process(5032)#获取指定进程ID=5032
p.name()#进程名称
p.exe()#进程路径
p.cwd()#进程工作目录
p.cmdline()#进程启动的命令行
p.ppid()#父进程ID
p.parent()#父进程
p.children()#子进程列表
p.status()#进程状态
p.username()#进程用户名
p.create_time()#进程创建时间
#p.terminal()#进程终端
p.cpu_times()#进程使用cpu 时间
p.memory_info()#进程使用的内存
p.open_files()#进程使用的文件
p.connections()#进程相关的网络连接
p.num_threads()#进程的线程数量
p.threads()#所以进程的信息
p.environ()#进程环境变量
p.terminate()#结束进程
#模拟PS
print(psutil.test())
Seven-M