psutil模块:获取系统信息
psutil = process and system utilities
跨平台使用,支持
Linux /UNIX/OSX/Windows等获取CPU信息
.cpu_count() # CPU逻辑数量
.cpu_count(logical=False) # CPU物理核心
.cpu_times() # 统计CPU的用户/系统/空闲时间
.cpu_percent(interval=1, percpu=True) # 类似top命令的CPU使用率
获取内存信息
.virtual_memory() # 获取物理内存(字节为单位)
.swap_memory() # 交换内存信息
获取磁盘信息
.disk_partitions() # 磁盘分区信息
.disk_usage('/') # 磁盘使用情况
.disk_io_counters() # 磁盘IO
获取网络信息
.net_io_counters() # 获取网络读写字节/包的个数
.net_if_addrs() # 获取网络接口信息
.net_if_stats() # 获取网络接口状态
.net_connections() # 当前网络连接信息(需要root权限)
.test() # 模拟出ps命令的效果
获取进程信息
.pids() # 所有进程ID
.Process(3776) # 获取指定进程ID=3776 -> p
p.name() # 进程名称'python3.6'
p.exe() # 进程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() # 结束进程, 自己把自己结束
参考:
https://github.com/giampaolo/psutil