python 獲取系統資訊—psutil安裝及使用
阿新 • • 發佈:2019-02-08
簡介
工具可以獲得到CPU, memory, disks, network這些資訊
psutil可以用來做系統監控,效能分析,程序管理。 支援的系統有Linux, Windows, OSX, FreeBSD and Sun Solaris,32和64位系統都支援,同時支援pyhton2.4到3.4。
liunx安裝
tar -zxvf psutil-2.1.3.tar.gz
cd psutil-2.1.3
python setup.py install
若提示:error: command 'gcc' failed with exit status 1
執行下面的命令:
yum install gcc python-devel
python setup.py install
windows 安裝
pip install psutil
--------------------------------------------------------------------------
# !/usr/bin/env python # -*- coding: utf-8 -*- import psutil import datetime import time # 當前時間 now_time = time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time())) print now_time # 檢視cpu的資訊 print u"物理CPU個數: %s" % psutil.cpu_count(logical=False) cpu = (str)(psutil.cpu_percent(1)) + '%' print u"cup使用率: %s" % cpu # 檢視記憶體資訊,剩餘記憶體.free 總共.total free = str(round(psutil.virtual_memory().free/(1024.0*1024.0*1024.0), 2)) total = str(round(psutil.virtual_memory().total/(1024.0*1024.0*1024.0), 2)) memory = int(psutil.virtual_memory().total-psutil.virtual_memory().free)/float(psutil.virtual_memory().total) print u"實體記憶體: %s G" % total print u"剩餘實體記憶體: %s G" % free print u"實體記憶體使用率: %s %%" % int(memory*100) # 系統啟動時間 print u"系統啟動時間: %s" % datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") # 系統使用者 users_count = len(psutil.users()) users_list = ",".join([u.name for u in psutil.users()]) print u"當前有%s個使用者,分別是 %s" % (users_count, users_list) # 網絡卡,可以得到網絡卡屬性,連線數,當前流量等資訊 net = psutil.net_io_counters() bytes_sent = '{0:.2f} Mb'.format(net.bytes_recv / 1024/1024) bytes_rcvd = '{0:.2f} Mb'.format(net.bytes_sent / 1024/1024) print u"網絡卡接收流量 %s 網絡卡傳送流量 %s" % (bytes_rcvd, bytes_sent) io = psutil.disk_partitions() del io[-1] print '-----------------------------磁碟資訊---------------------------------------' print "系統磁碟資訊:"+str(io) for i in io: o = psutil.disk_usage(i.device) print "總容量:"+str(int(o.total/(1024.0*1024.0*1024.0)))+"G" print "已用容量:"+str(int(o.used/(1024.0*1024.0*1024.0)))+"G" print "可用容量:"+str(int(o.free/(1024.0*1024.0*1024.0)))+"G" print '-----------------------------程序資訊-------------------------------------' # 檢視系統全部程序 for pnum in psutil.pids(): p = psutil.Process(pnum) print u"程序名 %-20s 記憶體利用率 %-18s 程序狀態 %-10s 建立時間 %-10s "\ % (p.name(), p.memory_percent(), p.status(), p.create_time())