引用
http://www.cnblogs.com/yueminghai/p/6632871.html
Python 監(jiān)控腳本(硬盤、cpu、內(nèi)存、網(wǎng)卡、進程)
#磁盤使用率
disk = psutil.disk_partitions()
for i in disk:
print "
磁盤:%s?分區(qū)格式:%s"%(i.device,i.fstype)
disk_use = psutil.disk_usage(i.device)
print "
使用了:%sM,空閑:%sM,總共:%sM,使用率\033[1;31;42m%s%%\033[0m,"%(disk_use.used/1024/1024,disk_use.free/1024/1024,disk_use.total/1024/1024,disk_use.percent)
#網(wǎng)絡(luò)使用率
1.? 監(jiān)控服務(wù)器cpu使用率
def?cpu():
?while?True:
time.sleep(1)
cpu_liyonglv = psutil.cpu_percent()
?print?"當前cpu利用率:\033[1;31;42m%s%%\033[0m"%cpu_liyonglv
?if?cpu_liyonglv >15.0:
baojing()
def?baojing():
i = 0
?while?i < 10 :
i += 1
time.sleep(0.5)
winsound.PlaySound("ALARM8",winsound.SND_ALIAS)
cpu()
2.? 監(jiān)控服務(wù)器內(nèi)存使用率
memory = psutil.virtual_memory()
print memory.used
print memory.total
ab = float(memory.used)/float(memory.total)*100
print "%.2f%%"%ab
print psutil.swap_memory()
3.? 監(jiān)控服務(wù)器網(wǎng)卡使用率
#網(wǎng)絡(luò)使用率
count = psutil.net_io_counters()
print "
發(fā)送字節(jié)數(shù):\033[1;31;42m%s\033[0mbytes,接收字節(jié)數(shù):\033[1;31;42m%s\033[0mbytes,發(fā)送包數(shù):%s,接收包數(shù)%s"%(count.bytes_sent,count.bytes_recv,count.packets_sent,count.packets_recv)
users = psutil.users()
print "
當前登錄用戶:",users[0].name
#
時間
curent_time = psutil.boot_time()
curent_time_1 = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(curent_time))
print curent_time_1
4.? 進程監(jiān)控
腳本如下:
#讀取進程pid,名稱,可執(zhí)行路徑 pid = psutil.pids()for k,iin enumerate(pid):try: ??????? proc? = psutil.Process(i)print k,i,"%.2f%%"%(proc.memory_percent()),"%",proc.name(),proc.exe()except psutil.AccessDenied :print "psutil.AccessDenied"