Python中的系统资源管理和磁盘空间监控
发布时间:2024-01-11 22:48:50
在Python中,可以使用psutil库来进行系统资源管理和磁盘空间监控。psutil库是一个跨平台的库,可以使用Python获得关于系统进程、CPU、内存、磁盘、网络等系统资源的信息。
下面是使用psutil库进行系统资源管理和磁盘空间监控的示例代码:
import psutil
# 获取CPU信息
def get_cpu_info():
cpu_info = {}
cpu_info['cpu_percent'] = psutil.cpu_percent(interval=1) # CPU使用率
cpu_info['cpu_count'] = psutil.cpu_count() # CPU核心数量
cpu_info['cpu_freq'] = psutil.cpu_freq() # CPU频率
return cpu_info
# 获取内存信息
def get_memory_info():
memory_info = {}
memory_info['memory_percent'] = psutil.virtual_memory().percent # 内存使用率
memory_info['memory_total'] = psutil.virtual_memory().total # 总内存大小
memory_info['memory_available'] = psutil.virtual_memory().available # 可用内存大小
return memory_info
# 获取磁盘信息
def get_disk_info():
disk_info = {}
disk_partitions = psutil.disk_partitions() # 获取所有磁盘分区
for partition in disk_partitions:
disk_info[partition.device] = psutil.disk_usage(partition.mountpoint)
return disk_info
# 系统资源监控
def monitor_system_resources():
cpu_info = get_cpu_info()
memory_info = get_memory_info()
disk_info = get_disk_info()
print(f"CPU使用率:{cpu_info['cpu_percent']}%")
print(f"CPU核心数量:{cpu_info['cpu_count']}")
print(f"CPU频率:{cpu_info['cpu_freq'].current}MHz")
print(f"内存使用率:{memory_info['memory_percent']}%")
print(f"总内存大小:{round(memory_info['memory_total'] / 1024 / 1024 / 1024, 2)}GB")
print(f"可用内存大小:{round(memory_info['memory_available'] / 1024 / 1024 / 1024, 2)}GB")
print("磁盘使用情况:")
for device, usage in disk_info.items():
print(f"{device}:")
print(f" 总空间:{round(usage.total / 1024 / 1024 / 1024, 2)}GB")
print(f" 已用空间:{round(usage.used / 1024 / 1024 / 1024, 2)}GB")
print(f" 可用空间:{round(usage.free / 1024 / 1024 / 1024, 2)}GB")
print(f" 使用率:{usage.percent}%")
# 磁盘空间监控
def monitor_disk_space():
disk_info = get_disk_info()
for device, usage in disk_info.items():
if usage.percent > 90:
print(f"{device}磁盘空间使用率超过90%,请及时清理")
# 使用例子
if __name__ == '__main__':
monitor_system_resources()
monitor_disk_space()
以上代码使用psutil库获取了系统的CPU信息、内存信息和磁盘信息,并输出相应的结果。其中,get_cpu_info()函数返回了CPU的使用率、核心数量和频率;get_memory_info()函数返回了内存的使用率、总内存大小和可用内存大小;get_disk_info()函数返回了磁盘的使用情况。monitor_system_resources()函数使用以上三个函数获取系统资源信息,并打印输出;monitor_disk_space()函数则针对磁盘空间进行监控,如果磁盘使用率超过90%,则会打印警告信息。
通过以上代码,我们可以方便地使用psutil库进行系统资源管理和磁盘空间监控,以便进行系统优化和故障处理。
