如何用Python实现查看服务器硬件信息
Admin 2022-08-22 群英技术资讯 918 次浏览
很多朋友都对“如何用Python实现查看服务器硬件信息”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!有时候,我们在项目中需要实时监控服务器的硬件信息,那么python该如何获取呢,废话不多说,直接撸上代码。
import os
import platform
import re
from datetime import datetime
import time
import psutil
'''获取服务器信息'''
def get_server_information():
# 主机名称
hostname = platform.node()
# 系统版本
system_version = platform.platform()
# python版本
python_version = platform.python_version()
# 逻辑cpu数量
cpu_count = psutil.cpu_count()
# cup使用率
cpus_percent = psutil.cpu_percent(interval=0.1)
# 内存
memory_information = psutil.virtual_memory()
# 内存使用率
memory_usage = memory_information.percent
memory_used = str(round(memory_information.used / 1024 / 1024))
memory_total = str(round(memory_information.total / 1024 / 1024))
memory_free = str(round(memory_information.free / 1024 / 1024))
# 磁盘信息
disk_partitions_list = []
# 判断是否在容器中
if not os.path.exists('/.dockerenv'):
disk_partitions = psutil.disk_partitions()
for i in disk_partitions:
a = psutil.disk_usage(i.device)
disk_partitions_dict = {
'device-系统盘位置': i.device,
'fstype-硬盘类型': i.fstype,
'total-总容量': str(round(a.total / 1024 / 1024)),
'used-已用硬盘': str(round(a.used / 1024 / 1024)),
'free-空闲硬盘': str(round(a.free / 1024 / 1024)),
'percent已用比例': a.percent
}
disk_partitions_list.append(disk_partitions_dict)
# 开机时间
boot_time = datetime.fromtimestamp(psutil.boot_time()).replace(microsecond=0)
up_time = datetime.now().replace(microsecond=0) - boot_time
up_time_list = re.split(r':', str(up_time))
up_time_format = " {} 小时{} 分钟{} 秒".format(up_time_list[0], up_time_list[1], up_time_list[2])
# 当前时间
time_now = time.strftime('%H:%M:%S ', time.localtime(time.time()))
data = {}
data["hostname-主机名称"] = hostname
data["system_version-系统版本"] = system_version
data["python_version-python版本"] = python_version
data["cpus_percent-cup使用率"] = cpus_percent
data["已用内容-memory_usage"] = memory_usage
data["cpu_count-CPU核数"] = cpu_count
data["memory_used-已用内存"] = memory_used
data["memory_total-总内存容量"] = memory_total
data["memory_free-空闲内存"] = memory_free
data["boot_time-服务器时间"] = boot_time
data["up_time_format-服务器运行时间"] = up_time_format
data["disk_partitions_list"] = disk_partitions_list
data["time_now"] = time_now
return data
print(get_server_information())
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了Python3利用Qt5实现简易的五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文将通过股票均线计算的案例来为大家讲解一下NumPy中的线性关系以及数据修剪压缩的实现,文中的示例代码讲解详细,感兴趣的可以了解一下
这篇文章主要介绍了python中not not x 与 bool(x) 的区别,我们就来做一个选择,就是 not not x 和 bool(x) 用哪个比较好?下面一起进入文章看看吧</P><P>
这篇文章主要介绍了Python pickle模块实现Python对象持久化存储,pickle 是 python 语言的一个标准模块,和python安装时共同安装好的一个模块。下文基于pickle模块展开实现Python对象持久化存储的详细内容,需要的朋友可以参考一下
堆栈是一个后进先出的数据结构,其工作方式就像一堆汽车排队进去一个死胡同里面,最先进去的一定是最后出来。我们可以设置一个类,用列表来存放栈中元素的信息,利用列表的append
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008