『壹』 python根據進程pid獲取進程cpu等信息時出錯
(x):
p=psutil.get_process_list()
forrinp:
aa=str(r)
f=re.compile(x,re.I)
iff.search(aa):
#printaa.split('pid=')[1].split(',')[0]
printaa.split('pid=')processinfo(sys.argv[1])
『貳』 python 怎麼獲得cpu使用率
python獲取代碼:
#!/usr/bin/python
#-*-coding:utf8-*-
__author__='chenwx'
defcpu_rate():
importtime
defcpu_r():
f=open("/proc/stat","r")
forf_lineinf:
break
f.close()
f_line=f_line.split("")
f_line_a=[]
foriinf_line:
ifi.isdigit():
i=int(i)
f_line_a.append(i)
total=sum(f_line_a)
idle=f_line_a[3]
returntotal,idle
total_a,idle_a=cpu_r()
time.sleep(2)
total_b,idle_b=cpu_r()
sys_idle=idle_b-idle_a
sys_total=total_b-total_a
sys_us=sys_total-sys_idle
cpu_a=(float(sys_us)/sys_total)*100
returncpu_a
#printcpu_rate()
『叄』 python如何獲取伺服器硬體狀態信息,包括CPU溫度、硬碟溫度、主板電池電壓、主機電源電壓、CPU風扇轉速
>>> import psutil
>>> psutil.cpu_times()
scputimes(user=3961.46, nice=169.729, system=2150.659, idle=16900.540, iowait=629.59, irq=0.0, softirq=19.42, steal=0.0, guest=0, nice=0.0)
>>>
>>> for x in range(3):
... psutil.cpu_percent(interval=1)
...
4.0
5.9
3.8
>>>
>>> for x in range(3):
... psutil.cpu_percent(interval=1, percpu=True)
...
[4.0, 6.9, 3.7, 9.2]
[7.0, 8.5, 2.4, 2.1]
[1.2, 9.0, 9.9, 7.2]
>>>
>>>
>>> for x in range(3):
... psutil.cpu_times_percent(interval=1, percpu=False)
...
scputimes(user=1.5, nice=0.0, system=0.5, idle=96.5, iowait=1.5, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
scputimes(user=1.0, nice=0.0, system=0.0, idle=99.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
scputimes(user=2.0, nice=0.0, system=0.0, idle=98.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
>>>
>>> psutil.cpu_count()
4
>>> psutil.cpu_count(logical=False)
2
>>>
『肆』 求一個python模塊,用於獲取一組主機的cpu、內存、存檔等情況
The mole - psutil is what you want.
easy_install psutil
or
pip install psutil
『伍』 python獲取cpu當前速度
你好,下面是windows的獲取cpu頻率的代碼。
def get_windows_cpu_speed():
import winreg
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"HARDWARE\DESCRIPTION\System\CentralProcessor\0")
speed, type = winreg.QueryValueEx(key, "~MHz")
speed = round(float(speed)/1024, 1)
return "{speed} GHz".format(speed=speed)
『陸』 python怎麼獲取自身進程的CPU和內存使用情況
這個需要進進程管理查看 如何打開進程管理器 快捷鍵Ctrl+Alt+方向鍵下鍵(或者小鍵盤的Enter鍵)
『柒』 利用python寫一段讀取電腦配置信息的程序
主要利用python的wmi模塊,提供非常多的信息。
importwmi
defsys_version():
c=wmi.WMI()
#操作系統版本,版本號,32位/64位
print(' OS:')
sys=c.Win32_OperatingSystem()[0]
print(sys.Caption,sys.BuildNumber,sys.OSArchitecture)
#CPU類型CPU內存
print(' CPU:')
processor=c.Win32_Processor()[0]
print(processor.Name.strip())
Memory=c.Win32_PhysicalMemory()[0]
print(int(Memory.Capacity)//1048576,'M')
#硬碟名稱,硬碟剩餘空間,硬碟總大小
print(' DISK:')
fordiskinc.Win32_LogicalDisk(DriveType=3):
print(disk.Caption,'free:',int(disk.FreeSpace)//1048576,'M ','All:',int(disk.Size)//1048576,'M')
#獲取MAC和IP地址
print(' IP:')
forinterfaceinc.Win32_NetworkAdapterConfiguration(IPEnabled=1):
print("MAC:%s"%interface.MACAddress)
forip_addressininterface.IPAddress:
print(" IP:%s"%ip_address)
#BIOS版本生產廠家釋放日期
print(' BIOS:')
bios=c.Win32_BIOS()[0]
print(bios.Version)
print(bios.Manufacturer)
print(bios.ReleaseDate)
sys_version()
顯示:
OS:
MicrosoftWindows10專業版1713464位
CPU:
Intel(R)Core(TM)[email protected]
8192M
DISK:
C:free:34165M All:120825M
D:free:265648M All:390777M
E:free:35669M All:204796M
F:free:5814M All:28163M
G:free:328650M All:329999M
IP:
MAC:00:50:56:C0:00:01
IP:192.168.182.1
IP:fe80::e0fb:efd8:ecb0:77f4
MAC:00:50:56:C0:00:08
IP:192.168.213.1
IP:fe80::8da1:ce76:dae:bd48
MAC:54:E1:AD:77:57:AB
IP:192.168.199.105
IP:fe80::aca8:4e6f:46e7:ef4a
BIOS:
LENOVO-1
LENOVO
20170518000000.000000+000
『捌』 怎麼用python查詢出 進程 CPU使用率 內存使用 句柄數
看到句柄數這幾個字,我猜可能是要windows下運行的?
可能答非所問,不過在linux下最好的用的莫過於psutil了,你可以通過進程名或pid很好的監控任意進程的系統佔用情況,甚至進程建立的每個連接都能獲取到
>>>importpsutil
>>>psutil.pids()
[1,2,3,4,5,6,7,46,48,50,51,178,182,222,223,224,
268,1215,1216,1220,1221,1243,1244,1301,1601,2237,2355,
2637,2774,3932,4176,4177,4185,4187,4189,4225,4243,4245,
4263,4282,4306,4311,4312,4313,4314,4337,4339,4357,4358,
4363,4383,4395,4408,4433,4443,4445,4446,5167,5234,5235,
5252,5318,5424,5644,6987,7054,7055,7071]
>>>
>>>p=psutil.Process(7055)
>>>p.name()
'python'
>>>p.exe()
'/usr/bin/python'
>>>p.cwd()
'/home/giampaolo'
>>>p.cmdline()
['/usr/bin/python','main.py']
>>>
>>>p.status()
'running'
>>>p.cpu_percent(interval=1.0)
12.1
>>>psutil.net_io_counters(pernic=True)
{'eth0':netio(bytes_sent=485291293,bytes_recv=6004858642,packets_sent=3251564,packets_recv=4787798,errin=0,errout=0,dropin=0,dropout=0),
'lo':netio(bytes_sent=2838627,bytes_recv=2838627,packets_sent=30567,packets_recv=30567,errin=0,errout=0,dropin=0,dropout=0)}
從官方文檔上了一部分出來,有沒有碉堡了的感覺,快去翻一下文檔吧,非常容易使用
『玖』 python怎樣獲得當前系統的CPU頻率和內存使用情況
如果想自己寫程序來實現的話,可以參考它們的源碼。
top/free都是在procps包中(apt-get source procps)。
找到cpus_refresh()函數,你可以看到它是怎樣從/proc/stat解析出CPU的使用率的。meminfo()函數則展示了如何從/proc/meminfo解析出內存的使用率(這個文件自己解析也很簡單)。
『拾』 如何用 python 讀取硬體信息
在LINUX下, *NIX 嘛. 硬體信息都在 info 文件里, 直接讀取文本文件就行了.:
f = open("/proc")
print(f.readlines())
f.close()
在windows下, win32 擴展調用WINDOWS的API應該可以做到.:
import os, csv
fp = os.popen("wmic cpu list /format:csv")
for i in csv.reader(fp):
print i