Python之監控服務器性能

模塊:psutil

簡介:獲取服務器cpu使用率以及內存使用率,網絡出入流量,以及計算磁盤使用大小

improt psutil
##獲取cpu信息
def cpu():
	import psutil
	psutil.cpu_percent()						#查看cpu使用率
	psutil.cpu_count()							#獲取CPU的邏輯個數
	psutil.cpu_count(logical=False)				#獲取CPU的物理個數
	psutil.cpu_times(percpu=True)				#獲取CPU的全部信息
	psutil.cpu_times().user1					#獲取user1使用CPU的時間比

##獲取內存信息
def memory():
	import psutil
	psutil.virtual_memory()						#獲取memory所有信息
	psutil.virtual_memory().total				#獲取內存的總數
	psutil.virtual_memory().free				#獲取內存空閒數
	psutil.swap_memory()						#獲取swap分區的所有信息
	psutil.swap_memory().total 					#獲取swap分區總數
	psutil.swap_memory().free					#獲取swap分區空閒數

##獲取磁盤信息
def disk():
	import psutil
	psutil.disk_partitions()					#獲取磁盤的所有信息
	psutil.disk_usage("sda1")					#獲取sda1的磁盤使用情況
	psutil.disk_io_counters(perdisk=True)		#獲取單個分區IO個數

##獲取網絡信息
def net():
	import psutil
	psutil.net_io_counters()					#獲取網絡總的IO信息
	psutil.net_io_counters(pernic=True)			#輸出每個網絡接口的IO信息

##獲取當前登錄用戶信息 
def user():
	import psutil
	psutil.users() 

##獲取機器啓動時間
def boottime():
	import psutil,datetime
	psutil.boot_time()
	datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")	#轉換爲標準的時間格式

#系統進程
def pid():
	import psutil
	psutil.pids()								#列出所有的pid
	pid1 = psutil.Process(254)					#實例化一個PID
	pid1.name()									#獲取進程名字
	pid1.exe()									#獲取進程bin路徑
	pid1.cwd()									#獲取進程工作目錄的絕對路徑
	pid1.status()								#獲取進程狀態
	pid1.uid()									#獲取進程uid信息
	pid1.gid()									#獲取進程gid信息
	pid1.cpu_times()							#進程CPU時間信息
	pid1.memory_percent()						#進程內存利用率
	pid1.memory_info()							#進程內存rss和vms信息
	pid1.io_counters()							#進程IO信息
	pid1.connections()							#打開進程的socket的namedutples列表,包括fs,family,laddr等信息
	pid1.num_threads()							#進程開啓的線程數

##pop類實現獲取用戶啓動的應用程序進程信息
def pop():
	import psutil
	from subprocess import PIPE
	pid2 = psutil.Popen(["/usr/bin/python","-c","print('Hello word')"],stdout=PIPE)
	p.name()
	p.username()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章