#!/usr/bin/env python
#-*-coding:utf-8-*-
import socket
import psutil
def get_hostname_ip():
# 获取主机名
hostname = socket.gethostname()
# 获取IP地址
ip = socket.gethostbyname(hostname)
# 返回参数
return hostname, ip
def get_cpu_info():
# 逻辑CPU个数
logical_cpus = psutil.cpu_count(logical=True)
# 物理CPU个数
physical_cpus = psutil.cpu_count(logical=False)
# CPU使用率
cpu_usage = psutil.cpu_percent(interval=1)
print(f"{'*' * 10}CPU{'*' * 10}")
print(f"逻辑 CPU 数量: {logical_cpus}")
print(f"物理 CPU 数量: {physical_cpus}")
print(f"CPU 使用率: {cpu_usage}%")
# 返回参数
return logical_cpus, physical_cpus, cpu_usage
def get_mem_info():
memory = psutil.virtual_memory()
#memory.total
#memory.available
#memory.used
#memory.free
print(f"{'*' * 10}内存{'*' * 10}")
print(f"总内存:{memory.total / (1024 ** 3):.1f}GB")
print(f"可用内存:{memory.available / (1024 ** 3):.1f}GB")
print(f"已用内存:{memory.used / (1024 ** 3):.1f}GB")
print(f"空闲内存:{memory.free / (1024 ** 3):.1f}GB")
return memory.total, memory.available, memory.used, memory.free
def get_swap_info():
swap_memory = psutil.swap_memory()
print(f"{'*' * 10}swap内存{'*' * 10}")
print(f"swap内存使用率: {swap_memory.percent}%")
print(f"swap内存总量: {swap_memory.total / (1024 ** 3):.1f} GB")
print(f"swap内存已用: {swap_memory.used / (1024 ** 3):.1f} GB")
print(f"swap内存剩余: {swap_memory.free / (1024 ** 3):.1f} GB")
def get_disk_info():
# 获取除了 CD-ROM、闪存等设备外的磁盘分区信息
disk_partitions = psutil.disk_partitions(all=False)
for partition in disk_partitions:
usage = psutil.disk_usage(partition.mountpoint)
print(f"{'*' * 10}{partition.mountpoint}{'*' * 10}")
print(f"磁盘:{partition.device}挂载:{partition.mountpoint}")
print(f"磁盘:{partition.mountpoint}使用率:{usage.percent}%")
print(f"磁盘总量:{usage.total / (1024 ** 3):.1f} GB")
print(f"磁盘已用:{usage.used / (1024 ** 3):.1f} GB")
print(f"磁盘剩余:{usage.free / (1024 ** 3):.1f} GB")
if __name__ == '__main__':
hostname_ip = list(get_hostname_ip())
print(f"主机名:{hostname_ip[0]}\nIP地址:{hostname_ip[1]}")
get_cpu_info()
get_mem_info()
get_swap_info()
get_disk_info()
pyhon3-psutil模块
原创
©著作权归作者所有:来自51CTO博客作者肖咏卓的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:python专栏
下一篇:linux主机巡检shell脚本
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python模块--Telnetlib模块
telnet模块
ci 用户名 for循环 -
psutil模块源码解读
psutil模块源码解读
psutil模块源码解读