pip install psutil
获取内存信息:
>>> import psutil >>> mem = psutil.virtual_memory() #获取内存完整信息 >>> mem.total #获取内存总数 8010080256 >>> mem.used #获取内存空闲数 4246765568
获取CPU信息:
>>> psutil.cpu_times() #显示CPU信息 scputimes(user=253743.4577502, system=85613.45800069999, idle=1441121.8095010999 , interrupt=23814.738257599998, dpc=2544.7039121000003) >>> psutil.cpu_times(percpu=True) #显示所有CPU信息 [ scputimes(user=91456.9746589, system=21885.34908980003, idle=331843.96999129996,interrupt=1167.7454855, dpc=412.5758447), scputimes(user=51238.871652199996,system=35647.80411009997, idle=358299.0563741, interrupt=21236.5253307, dpc=1596.6858350999998), scputimes(user=100969.21363439999, system=23486.262552, idle=320730.13114919997, interrupt=493.66516449999995, dpc=104.1774678), scputimes(user=10093.6079022, system=4604.509915900009, idle=430487.3647167, interrupt=922.4807132999999, dpc=431.5611664) ] >>> psutil.cpu_times().user #获取单项数据信息 253767.450704 >>> psutil.cpu_count() #获取CPU个数 4 >>> psutil.cpu_count(logical=False) #获取物理CPU个数(实际上是线程数除以2)。 2 >>> psutil.swap_memory() #获取SWAP分区信息 sswap(total=16018214912, used=10366255104, free=5651959808, percent=64.7, sin=0, sout=0)
磁盘信息:
psutil.disk_usage 磁盘利用率
磁盘IO信息包括:
read_count(读IO数)write_count(写IO数)
read_bytes(IO读字节数)write_bytes(IO写字节数)
read_time(磁盘读时间)write_time(磁盘写时间)
psutil.disk_partitions 获取磁盘完整信息
psutil.disk_usage 获取分区的使用情况
psutil.disk_io_counters('/') 获取磁盘IO信息
psutil.disk_io_counters(perdisk=True) 按分区获取IO信息
>>> psutil.disk_partitions() [sdiskpart(device='C:\', mountpoint='C:\', fstype='NTFS', opts='rw,fixed'), sd iskpart(device='D:\', mountpoint='D:\', fstype='NTFS', opts='rw,fixed'), sdisk part(device='E:\', mountpoint='E:\', fstype='NTFS', opts='rw,fixed'), sdiskpar t(device='F:\', mountpoint='F:\', fstype='CDFS', opts='ro,cdrom')] >>> psutil.disk_usage('c:\') sdiskusage(total=107375226880, used=80557694976, free=26817531904, percent=75.0) >>> psutil.disk_usage('d:\') sdiskusage(total=429497774080, used=58469056512, free=371028717568, percent=13.6 ) >>> psutil.disk_io_counters() sdiskio(read_count=10022230, write_count=5844260, read_bytes=389997929984, write _bytes=241317355520, read_time=1362723, write_time=1205422) >>> psutil.disk_io_counters(perdisk=True) {'PhysicalDrive0': sdiskio(read_count=10022230, write_count=5844325, read_bytes= 389997929984, write_bytes=241317739008, read_time=1362723, write_time=1205422)} >>>
网络信息
psutil.net_io_counters()
bytes_sent 发送字节数
bytes_recv 接收字节数
packets_sent 发送数据包数
packets_recv 接收数据包数
>>> psutil.net_io_counters() snetio(bytes_sent=87020660, bytes_recv=748546277, packets_sent=609921, packets_r ecv=486979, errin=0, errout=5429, dropin=0, dropout=0) >>> >>> psutil.net_io_counters(pernic=True) { 'Npcap Loopback Adapter': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'Bluetooth 网络连接': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), '本地连接': snetio(bytes_sent=87012318, bytes_recv=748543604, packets_sent=604977, packets_recv=486965, errin=0, errout=0, dropin=0, dropout=0), 'VMware Network Adapter VMnet8': snetio(bytes_sent=4901, bytes_recv=0, packets_sent=4901, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'Loopback Pseudo-Interface 1': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'isatap.{49CF5090-D237-4A65-8E97-5BF88A0C7F1F}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), '6TO4 Adapter': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=5428, dropin=0, dropout=0), 'isatap.{095E0AA1-265B-449D-8284-C2C534AF37BC}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'isatap.{449A948D-21F4-43F9-BE38-6D3568A5DD76}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'isatap.{2B95C896-6750-4C13-A6D1-FFC407250CBF}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'Teredo Tunneling Pseudo-Interface': snetio(bytes_sent=5092, bytes_recv=4104, packets_sent=62, packets_recv=27, errin=0, errout=1, dropin=0, dropout=0) }
其他信息:
>>> psutil.users() #获取当前登录系统的用户信息 [suser(name='Administrator', terminal=None, host='0.0.0.0', started=1563846388.0 , pid=None)] >>> psutil.boot_time() #获取开机时间 1563846338.0 >>> import datetime >>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M :%S") '2019-07-23 09:45:38'