python - 使用psutils

oshelper.py

#encoding=utf-8
import psutil  
import datetime  
  
#查看cpu的信息  
print u"CPU 个数 %s"%psutil.cpu_count()  
print u"物理CPU个数 %s"%psutil.cpu_count(logical=False)  
print u"CPU uptimes"  
print psutil.cpu_times()  
print ""  
  
#查看内存信息  
mem = psutil.virtual_memory()
print u"系统总内存 %s G"%(mem.total/1024/1024/1024)  
print u"系统可用内存 %s G"%(mem.available/1024/1024/1024)  
mem_rate = int(mem.available)/float(mem.total)  
print u"系统内存使用率 %s %%"%int(mem_rate*100)  

#交换分区
swapmem = psutil.swap_memory()
print u"交换分区 %s G"%(swapmem.total/1024/1024/1024)  
print u"交换分区可用 %s G"%(swapmem.free/1024/1024/1024)  
print u"交换分区使用率 %s %%"%int(swapmem.percent)  
#系统启动时间  
print u"系统启动时间 %s"%datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")  
  
#系统用户  
users_count = len(psutil.users())  
users_list = ",".join([ u.name for u in psutil.users()])  
print u"当前有%s个用户,分别是%s"%(users_count, users_list)  
  
#网卡,可以得到网卡属性,连接数,当前流量等信息  
net = psutil.net_io_counters()  
bytes_sent = '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024)  
bytes_rcvd = '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024)  
print u"网卡接收流量 %s 网卡发送流量 %s"%(bytes_rcvd, bytes_sent) 
nis=psutil.net_io_counters(pernic=True)
print u"网卡 " ,tuple(nis)

#进程  进程的各种详细参数  
def show_process(pid):
    try:
        p = psutil.Process(pid) 
    
        p.name()   #进程名
        #p.exe()    #进程的bin路径
        #p.cwd()    #进程的工作目录绝对路径
        p.status()   #进程状态
        p.create_time()  #进程创建时间
        #p.uids()    #进程uid信息
        #p.gids()    #进程的gid信息
        p.cpu_times()   #进程的cpu时间信息,包括user,system两个cpu信息
        #p.cpu_affinity()  #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就好
        p.memory_percent()  #进程内存利用率
        p.memory_info()    #进程内存rss,vms信息
        p.io_counters()    #进程的IO信息,包括读写IO数字及参数
        #p.connectios()   #返回进程列表
        p.num_threads()  #进程开启的线程数
        '''
        听过psutil的Popen方法启动应用程序,可以跟踪程序的相关信息
        from subprocess import PIPE
        p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"],stdout=PIPE)
        '''
        p.name()
        #p.username()
    except:
        pass
'''
pids=psutil.pids()
for pid in pids:
    show_process(pid)
'''
with open (r'd:\temp\test.txt','w') as f:
    sys.stdout=f
    for proc in psutil.process_iter():
    '''
        if proc.name() == "w3wp.exe":
            cpu_threshold=proc.cpu_percent(interval=2)/24 
            print proc.name(),proc.create_time(),cpu_threshold
            p.terminate() proc .kill()
            Iterate over all ports this process is listening to 
        for con in proc.get_connections():
            con
    '''
        pa=proc.as_dict()
        print pa.get('name'),pa.get('create_time'),pa.get('pid'),pa.get('status'),pa.get('connections'),pa.get('open_files'),pa.get('cpu_percent'),pa.get('memory_percent'),pa.get('username'),pa.get('num_threads')

print u"当前进程:",psutil.Process(os.getpid()).cmdline()


#磁盘 磁盘的使用量等等  
dps=psutil.disk_partitions()
for dp in dps:
    dp
du=psutil.disk_usage('/')
print u"硬盘总共容量 %s G"%(du.total/1024/1024/1024)  
print u"硬盘可用 %s G"%(du.free/1024/1024/1024)
print u"硬盘已用 %s %%"%(du.percent) 

 

转载于:https://www.cnblogs.com/sui84/p/8251910.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
psutil是一个跨平台的Python库,用于获取有关系统进程和系统资源利用率(CPU,内存,磁盘,网络等)的信息。下面是使用psutil库完成进程相关信息获取的示例: import psutil # 获取所有正在运行的进程 processes = psutil.process_iter() for proc in processes: print("进程ID: ", proc.pid) print("进程名称: ", proc.name()) print("创建时间: ", proc.create_time()) print("进程状态: ", proc.status()) print("进程内存使用情况: ", proc.memory_info().rss) # 获取特定进程的详细信息 pid = 1234 # 进程ID,根据具体情况修改 process = psutil.Process(pid) print("进程名称: ", process.name()) print("进程状态: ", process.status()) print("父进程ID: ", process.ppid()) print("进程工作目录: ", process.cwd()) print("进程启动命令: ", process.cmdline()) print("进程内存使用情况: ", process.memory_info().rss) # 获取系统CPU利用率 print("系统CPU利用率: ", psutil.cpu_percent()) # 获取系统内存利用率 print("系统内存使用情况: ", psutil.virtual_memory()) # 获取磁盘使用情况 print("磁盘使用情况: ", psutil.disk_usage('/')) # 获取网络连接信息 print("网络连接信息: ", psutil.net_connections()) 通过使用psutil库,我们可以轻松地获取有关系统进程和系统资源利用率的各种信息。我们可以遍历所有正在运行的进程,获取每个进程的名称、创建时间、状态和内存使用情况等。我们还可以根据进程ID获取特定进程的详细信息,例如父进程ID、工作目录、启动命令和内存使用情况等。此外,psutil还提供了获取系统CPU利用率、系统内存利用率、磁盘使用情况和网络连接信息的方法。通过使用psutil库,我们可以方便地监控和管理系统的进程和资源使用情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值