python自动化运维技术读书笔记

时间:2024-04-16 00:05:34

import psutil
print(psutil.cpu_times(percpu=True))
#使用cpu_times方法获取CPU完整信息需要显示所有逻辑CPU信息

import psutil
print(psutil.virtual_memory())
#获取内存完整信息

import psutil
print(psutil.swap_memory())
#获取SWAP分区信息

import psutil
print(psutil.disk_partitions())
#获取磁盘完整信息

import psutil
print(psutil.disk_usage('/'))
#获取分区(参数)的使用情况

import psutil
print(psutil.disk_io_counters())
#获取硬盘总的IO个数

import psutil
print(psutil.disk_io_counters(perdisk=True))
#perdisk=True参数获取单个分区IO个数

import psutil
print(psutil.net_io_counters)
#获取网络总的IO信息,默认pernic=False

import psutil
print(psutil.net_io_counters(pernic=True))
#pernic=True输出每个网络接口的IO信息

除了以上几个获取系统基本信息的方法,psutil模块还支持获取用户登录、开机时间等信息
psutil.users()
psutil.boot_time()

psutil.pids() 列出所有进程PID
p = psutil.Process(213) 实例化一个Process对象,参数为一个进程PID
p.name() 进程名
p.exe() 进程bin路径
p.cwd() 进程工作目录绝对路径
p.status() 进程状态
p.create_time() 进程创建时间,时间戳格式
p.uids() 进程uid信息
p.gids() 进程gid信息
p.cpu_times() 进程CPU时间信息,包括user和system两个cpu时间
p.cpu_affinity() get进程cpu亲和度
p.memory_percent() 进程内存利用率
p.memory_info() 进程内存rss.vms信息
p.io_counters() 进程IO信息,包括读写IO数以及字节数
p.connections() 返回打开进程socket的namedutples列表
p.num_threads() 进程开启的线程数

popen类 获取用户启动的应用程序进程信息,以便跟踪程序进程的运行状态
import psutil
from subprocess import PIPE