psutil获取系统信息

import  psutil
print(psutil.cpu_count())# CPU逻辑数量
print(psutil.cpu_count(logical=False))# CPU物理核心

# 2说明是双核超线程, 4则是4核非超线程


统计CPU的用户/系统/空闲时间:


import  psutil
print(psutil.cpu_times())

#再实现类似top命令的CPU使用率,每秒刷新一次,累计10次:

for x in range(10):
   psutil.cpu_percent(interval=1, percpu=True)#返回每个cpu利用率的百分比

获取内存信息

import psutil
print(psutil.virtual_memory())#获取物理内存
#svmem(total=17084391424, available=8099258368, percent=52.6, used=8985133056, free=8099258368)
#总数total17084391424 已用used8985133056

print(psutil.swap_memory())#获取交换内存信息
#sswap(total=34166837248, used=12046028800, free=22120808448, percent=35.3, sin=0, sout=0)
#总数total34166837248 已用used12046028800

获取磁盘信息

import psutil
print(psutil.disk_partitions())#磁盘分区信息
# [sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed')]

print(psutil.disk_usage('/'))#磁盘使用情况
# sdiskusage(total=130997547008, used=52027219968, free=78970327040, percent=39.7)
print(psutil.disk_io_counters()) # 磁盘IO
# sdiskio(read_count=2393571, write_count=4814625, read_bytes=68775354880, write_bytes=110282684416, read_time=7847, write_time=3481)

获取网络信息

import psutil
print(psutil.net_io_counters()) # 获取网络读写字节/包的个数
# snetio(bytes_sent=742187619, bytes_recv=6473264948, packets_sent=4728283, packets_recv=10028073, errin=0, errout=0, dropin=0, dropout=0)

print(psutil.net_if_addrs()) # 获取网络接口信息
# {'本地连接': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='4C-CC-6A-BD-E1-10', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET: 2>, address='10.225.108.113', netmask='255.255.255.0', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::b175:3176:e4ec:4a00', netmask=None, broadcast=None, ptp=None)], 'isatap.first.wan': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='00-00-00-00-00-00-00-E0', netmask=None, broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::5efe:10.225.108.113', netmask=None, broadcast=None, ptp=None)], 'Loopback Pseudo-Interface 1': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 23>, address='::1', netmask=None, broadcast=None, ptp=None)]}


print(psutil.net_if_stats()) # 获取网络接口状态
# {'本地连接': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=1000, mtu=1500), 'Loopback Pseudo-Interface 1': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=1073, mtu=1500), 'isatap.first.wan': snicstats(isup=False, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=0, mtu=1280)}

要获取当前网络连接信息,使用net_connections():

import psutil
print(psutil.net_connections())

获取进程信息

import psutil

print(psutil.pids()) # 所有进程ID
# [0, 4, 576, 700, 788, 832, 840, 876, 940, 948, 956, 1048, 1096, 1332, 1416, 1440, 1472, 1488, 1516, 1540, 1616, 1760, 1804, 1896, 1912, 2012, 2064, 2072, 2120, 2196, 2440, 2456, 2476, 2576, 2608, 2692, 2792, 2840, 2900, 2940, 2964, 2996, 3020, 3404, 3692, 3860, 3996, 4032, 4080, 4324, 4528, 4656, 4852, 5092, 5104, 5320, 5368, 5544, 5640, 5676, 5944, 5956, 6000, 6036, 6108, 6112, 6128, 6296, 6412, 6520, 6732, 6804, 6900, 6924, 6988, 7088, 7392, 7404, 8172, 8240, 8436, 8716, 9344, 9784, 10092, 10256, 10648, 10728, 10820, 12256, 13260, 13644, 17056, 22472, 25612, 26352, 26656, 27400, 28700, 28964, 28984, 30424, 30620, 31508, 32764, 32772, 38228, 38976, 39872, 40016, 40312, 40552, 40600, 41320, 41368, 41720, 41856, 41888, 42360, 42520, 42700, 43092, 43108, 43300, 43424, 43588, 43736, 43800, 43980, 44156, 44564, 44908, 44984, 45040, 45044, 45548, 46852, 48892, 48996, 49508, 53684, 53764, 54864, 75780, 76920, 80340, 81836, 82684, 83248, 83416, 83524, 83736, 83804]

p = psutil.Process(3692)

print(p.name()) # 进程名称
# chrome.exe


print(p.exe()) # 进程exe路径
# C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

print(p.cwd()) # 进程工作目录
# C:\Program Files (x86)\Google\Chrome\Application\71.0.3578.80

print(p.cmdline()) # 进程启动的命令行
# ['C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe', '--type=watcher', '--main-thread-id=6744', '--on-initialized-event-handle=480', '--parent-handle=484', '/prefetch:6']

print(p.ppid()) # 父进程ID
# 8240

print(p.parent()) # 父进程
# psutil.Process(pid=8240, name='chrome.exe', started='2019-06-24 13:04:52')


print(p.children()) # 子进程列表
# []

print(p.status()) # 进程状态
# running
#

print(p.username()) # 进程用户名
# FIRST\ex-lvjunbo


print(p.create_time()) # 进程创建时间
# 1561352693.0



# print(p.terminal()) # 进程终端


print(p.cpu_times()) # 进程使用的CPU时间
# pcputimes(user=0.09360059999999999, system=0.1092007, children_user=0.0, children_system=0.0)

print(p.memory_info()) # 进程使用的内存
# pmem(rss=1495040, vms=4812800, num_page_faults=8018, peak_wset=17272832, wset=1495040, peak_paged_pool=179544, paged_pool=179320, peak_nonpaged_pool=21072, nonpaged_pool=20408, pagefile=4812800, peak_pagefile=4939776, private=4812800)

print(p.open_files()) # 进程打开的文件
# []

print(p.connections()) # 进程相关网络连接
# []

print(p.num_threads()) # 进程的线程数量
#6

print(p.threads()) # 所有线程信息
# [pthread(id=6736, user_time=0.031200199999999997, system_time=0.09360059999999999), pthread(id=8856, user_time=0.062400399999999995, system_time=0.0), pthread(id=3524, user_time=0.0, system_time=0.0), pthread(id=4704, user_time=0.0, system_time=0.0), pthread(id=4380, user_time=0.0, system_time=0.0), pthread(id=2504, user_time=0.0, system_time=0.015600099999999999)]

print(p.environ()) # 进程环境变量
# {'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\ex-lvjunbo\\AppData\\Roaming', 'ASL.LOG': 'Destination=file', 'CHROME_CRASHPAD_PIPE_NAME': '\\\\.\\pipe\\crashpad_8240_KWCSQSOLJQJGKDBJ', 'CLASS_PATH': '.', 'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'HIT-EX-LJB-DT2', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'FP_NO_HOST_CHECK': 'NO', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\ex-lvjunbo', 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_131\\', 'LOCALAPPDATA': 'C:\\Users\\ex-lvjunbo\\AppData\\Local', 'LOGONSERVER': '\\\\ADS-3', 'NLS_LANG': 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK', 'NUMBER_OF_PROCESSORS': '4', 'ORACLE_HOME': 'E:\\working software\\instantclient_11_2', 'OS': 'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\Google\\Chrome\\Application;C:\\Windows\\system32;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;D:\\python37;D:\\python27;D:\\instantclient_12_2;C:\\Users\\ex-lvjunbo\\AppData\\Local\\BypassRuntm;C:\\Users\\ex-lvjunbo\\AppData\\Local\\Programs\\Microsoft VS Code\\bin', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'x86', 'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 94 Stepping 3, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '5e03', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\EX-LVJ~1\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\EX-LVJ~1\\AppData\\Local\\Temp', 'TNS_ADMIN': 'D:\\instantclient_12_2\\tnsnames.ora', 'USERDNSDOMAIN': 'FIRST.WAN', 'USERDOMAIN': 'FIRST', 'USERNAME': 'ex-lvjunbo', 'USERPROFILE': 'C:\\Users\\ex-lvjunbo', 'WINDIR': 'C:\\Windows', 'WINDOWS_TRACING_FLAGS': '3', 'WINDOWS_TRACING_LOGFILE': 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log'}

print(p.terminate()) # 结束进程
# None
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值