PSUTIL模块主要应用于系统监控,分析和限制管理资源及进程的管理,它实现了同等命令工具提供的功能。
安装
pip install psutil
或
wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate
tar -zxvf psutil-2.0.0.tar.gz
cd psutil-2.0.0
python setup.py install
1,获取系统信息
1)CPU信息
psutil.cpu_times() 获取CPU完整信息
psutil.cpu_times(percpu=True)
psutil.cpu_times().user
psutil.cpu_count()获取CPU逻辑个数
psutil.cpu_count(logical=False)获取CPU物理个数
2)内存信息
psutil.virtual_memory()获取内存完整信息
psutil.virtual_memory().total 内存总数
psutil.virtual_memory().free
psutil.swap_memory()
3)磁盘信息
psutil.disk_partitions()
psutil.disk_usage('/')
psutil.disk_io_counters()
psutil.disk_io_counters(perdisk=True)
4)网络信息
psutil.net_io_counters()
psutil.net_io_counters(pernic=True)
5)其他信息
psutil.users()
psutil.boot_time() 开机时间,以Linux时间格式显示
datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
2系统进程管理方法
1)进程信息
psutil.pids()
p=psutil.Process(进程号)
p.name()进程名称
p.exe() 进程bin路径
p.status()进程状态
p.cwd()进程工作目录绝对路径
p.create_time()创建时间
p.uids()
p.gids()
p.cpu_affinity()
p.memory_percent()
p.memory_info()
p.io_counters()
p.connections()打开进程Socket的namedutples列表
p.num_threads()打开的进程数
2)popen类使用
from subprocess import PIPE
p=psutil.Popen(["/usr/bin/python","-c","print('hello')"],stdout=PIPE)
p.name()
p.communicate()
p.cpu_times()
参见:
https://github.com/giampaolo/psutil
http://psutil.readthedocs.org/en/latest/