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/