首页 > 系统相关 >python通过psutil获取服务器cpu,内存,磁盘使用率

python通过psutil获取服务器cpu,内存,磁盘使用率

时间:2023-04-21 09:11:06浏览次数:47  
标签:使用率 python percent psutil usage 磁盘 disk cpu

psutil是一个跨平台的Python库,它允许你获取有关系统进程和系统资源使用情况的信息。它支持Windows、Linux、OS X、FreeBSD、OpenBSD和NetBSD等操作系统,并提供了一些非常有用的功能,如:

  1. 获取系统CPU使用率、内存使用率、磁盘使用率等信息。
  2. 获取进程列表、进程状态、进程CPU使用率、进程内存使用率、进程IO信息等。
  3. 杀死进程、发送信号给进程、挂起进程、恢复进程等操作。

使用psutil,可以很方便地监控系统的运行状况,诊断问题和优化性能。以下是一个简单的示例,演示如何使用psutil获取系统CPU使用率和内存使用率:

import psutil

# 获取磁盘使用率(windows),linux服务器可以获取根目录/下的磁盘使用率 disk_usage_C = psutil.disk_usage('/')
#disk_usage()方法可以获取指定路径的磁盘使用情况,返回一个namedtuple对象,包含total、used、free、percent四个属性,分别表示总容量、已用容量、可用容量和使用率。

disk_usage_C = psutil.disk_usage('C:')
print("C磁盘总体情况: ","总容量:",round(disk_usage_C.total/1073741824,2),"G"," 磁盘使用率:",disk_usage_C.percent, "%",sep='')
# sep='' 去除print()内空格,round(数值,2):保留两位小数 ,1G等于1,073,741,824byte

disk_usage_D = psutil.disk_usage('D:')
print("D磁盘使用率:","总容量:",round(disk_usage_D.total/1073741824,2),"G"," 磁盘使用率:",disk_usage_D.percent, "%",sep='')

disk_usage_E = psutil.disk_usage('E:')
print("E磁盘使用率:","总容量:",round(disk_usage_E.total/1099511627776,1),"T"," 磁盘使用率:",disk_usage_E.percent, "%",sep='')

# 获取内存使用率
#virtual_memory()方法可以获取系统内存使用情况,返回一个namedtuple对象,包含total、available、percent、used、free五个属性,分别表示总内存、可用内存、使用率、已用内存和可用内存。
mem = psutil.virtual_memory()
print("内存总量: ",round(mem.total/1073741824,2),"内存使用率:", mem.percent, "%")

# 获取CPU使用率
#cpu_percent()方法可以获取CPU使用率,可以指定采样间隔(默认为1秒),返回一个浮点数,表示CPU使用率
cpu_percent = psutil.cpu_percent(interval=1)
print("cpu核数: ",psutil.cpu_count(),"CPU使用率:", cpu_percent, "%")

 

标签:使用率,python,percent,psutil,usage,磁盘,disk,cpu
From: https://www.cnblogs.com/joyware/p/17339134.html

相关文章

  • java调用python脚本,用到tensorflow、keras等第三方库
    https://blog.csdn.net/jstlovely/article/details/121247764?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168110434116800227452800%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168110434116800227452800&......
  • python_面向对象
    魔法函数魔术访达的一些说明23-24魔术方法并不是来自继承,而是python自带的这些方法,跟类没有关系__getitem__方法因为实现了__getitem__(),所以可以直接遍历这个student对象__getitem__方法的参数item就是相当于数组的下标13行对象实例化对象进行切片操作......
  • 【进阶15】【自学笔记】Python运行cmd命令的几种方式
    一、pathlib的简单介绍pathlib是Python3.4及更高版本中内置的标准库,提供了一种面向对象的方式来处理文件系统路径。它为不同操作系统提供了合适的路径语义,并支持常见的文件和目录操作,比如判断路径是否存在、获取路径的各个部分、创建/删除目录等操作。二、基本操作1、获取......
  • Python 判断服务端口是否被占用脚本
    背景自动注册服务时判断端口是否被占用代码详情importsocketdefcheck_port(address,port):#创建套接字对象sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#检查端口是否占用result=sock.connect_ex((address,port))#关闭套接字......
  • 【进阶14】【自学笔记】Python运行cmd命令的几种方式
    1、使用os.system()函数importos#运行cmd命令os.system('dir')2、使用subprocess模块importsubprocess#运行cmd命令subprocess.run(['dir'],shell=True)3、使用os.popen()函数importos#运行cmd命令result=os.popen('dir')print(result.read......
  • 对比Python中的列表、元组、字典、集合、字符串等之间异同
    1.数据类型列表、元组、字典、集合、字符串均属于python3的标准数据类型。字符串和元组属于不可变数据,即创建后不可修改。列表、字典、集合属于可变数据,即创建后可以修改元素。2.创建有元素的对象3.创建没有元素的对象列表使用eval()或list()或中括号[]进行创建,元素之间使用逗号分......
  • Linux 编译安装 Python3
    本文档适用Python3.9及以上版本。1.提前安装依赖yuminstall-ygccncurses-develgdbm-develxz-develsqlite-develtk-develuuid-develreadline-develbzip2-devellibffi-developenssl11openssl11-devel2.设置编译FLAGAWSAMI:exportCFLAGS=$(pkg-config--cflagsli......
  • #yyds干货盘点#python之 Lambda 表达式
    lambda 关键字用于创建小巧的匿名函数。lambda a, b: a+b 函数返回两个参数的和。Lambda函数可用于任何需要函数对象的地方。在语法上,匿名函数只能是单个表达式。在语义上,它只是常规函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用包含作用域中的变量:>>>defmake_......
  • [oeasy]python0135_变量名与下划线_dunder_声明与赋值
    变量定义回忆上次内容变量就是能变的量上次研究了变量标识符的规则第一个字符应该是字母或下划线合法的标识符可以包括大小写字母数字下划线  还研究了字符串(str)的函数isidentifier查询字符串是否为合法标识符 ......
  • python-crontab表达式
    起源于一个比较奇葩的需求,默认的celery无法实现:需要用户输入一个开始时间,结束时间,以及时间间隔,需要在该时间段内指定间隔执行importdatetimedeftask(start:datetime.datetime,end:datetime.datetime,interval:datetime.timedelta):"""*****"""......