python psutil模块,监控系统的信息,监控cpu、内存、网络、磁盘使用情况;安装psutil报错

2 篇文章 0 订阅
1 篇文章 0 订阅

python psutil模块,主要用来监控主机的性能指标,包括但不限于cpu使用率、内存使用率、网络状况、磁盘使用情况。
win10下通过pip安装psutil模块,我遇到了问题,主要是因为我是python2.7与python3.5共存所引起的,所以,我建议大家,在多版本python共存的机器下,通过pip安装python第三方库,如果报错,需要先考虑下手动安装第三方库。(具体怎么手动安装请百度,很简单)

下面将部分代码贴出,后期我会一直跟进,将psutil和motplotlib一起形成我自己的监控脚本。

请记住我,我是胖超人。

代码奉上

#_*_coding=utf-8 _*
#__author__ = 'chubby_superman'


import psutil
import datetime
import time
print('-----------------------------系统基本信息---------------------------------------')
# 当前时间
now_time = time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
print(now_time)
# 系统启动时间
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))
print('-----------------------------cpu信息---------------------------------------')
# 查看cpu物理个数的信息
print(u"物理CPU个数: %s" % psutil.cpu_count(logical=False))
print(u"CPU核心总数: %s" % psutil.cpu_count())
#CPU的使用率
cpu = (str(psutil.cpu_percent(1))) + '%'
print(u"cup使用率: %s" % cpu)
print('-----------------------------mem信息---------------------------------------')
#查看内存信息,剩余内存.free  总共.total
#round()函数方法为返回浮点数x的四舍五入值。
free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))
memory = int(psutil.virtual_memory().total - psutil.virtual_memory().free) / float(psutil.virtual_memory().total)
print(u"物理内存: %s G" % total)
print(u"剩余物理内存: %s G" % free)
print(u"物理内存使用率: %s %%" % int(memory * 100))
print('-----------------------------网络信息---------------------------------------')
#网卡,可以得到网卡属性,连接数,当前流量等信息
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))

print('-----------------------------磁盘信息---------------------------------------')
io = psutil.disk_partitions()
#print("系统磁盘信息:" + str(io))

for i in io:
    try:
        o = psutil.disk_usage(i.device)
        ioo=psutil.disk_io_counters()
        print(ioo)
    except Exception as e:
        pass
    print("%s盘总容量:"%i.device + str(int(o.total / (1024.0 * 1024.0 * 1024.0))) + "G")
    print("已用容量:" + str(int(o.used / (1024.0 * 1024.0 * 1024.0))) + "G")
    print("可用容量:" + str(int(o.free / (1024.0 * 1024.0 * 1024.0))) + "G")

print('-----------------------------进程信息-------------------------------------')
# 查看系统全部进程
for pnum in psutil.pids():
    p = psutil.Process(pnum)
    print(u"进程名 %-20s  内存利用率 %-18s 进程状态 %-10s 创建时间 %-10s " \
    % (p.name(), p.memory_percent(), p.status(), p.create_time()))




  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
psutil是一个跨平台的Python系统监控模块。它可以获取系统CPU内存磁盘网络等相关信息,同时也可以获取进程相关的信息psutil的常用功能和经典用法如下: 1. 获取CPU信息 ``` import psutil # 获取CPU核心数 cpu_count = psutil.cpu_count() # 获取CPU使用cpu_usage = psutil.cpu_percent(interval=1) ``` 2. 获取内存信息 ``` import psutil # 获取总内存大小 total_memory = psutil.virtual_memory().total # 获取可用内存大小 available_memory = psutil.virtual_memory().available # 获取内存使用率 memory_usage = psutil.virtual_memory().percent ``` 3. 获取磁盘信息 ``` import psutil # 获取磁盘总大小 total_disk = psutil.disk_usage('/').total # 获取磁盘可用大小 available_disk = psutil.disk_usage('/').free # 获取磁盘使用率 disk_usage = psutil.disk_usage('/').percent ``` 4. 获取网络信息 ``` import psutil # 获取网络连接数 connections = psutil.net_connections() # 获取网络IO信息 io_counters = psutil.net_io_counters() ``` 5. 获取进程信息 ``` import psutil # 获取所有进程ID pids = psutil.pids() # 根据进程ID获取进程信息 process = psutil.Process(pid) # 获取进程名 process_name = process.name() # 获取进程状态 process_status = process.status() # 获取进程CPU使用率 process_cpu = process.cpu_percent(interval=1) # 获取进程内存使用率 process_memory = process.memory_percent() ``` 除了以上常用功能和经典用法,psutil还提供了许多其他的功能,如获取系统启动时间、获取用户信息等等。psutil的文档详细介绍了这些功能,可以根据需要进行查阅。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值