一、安装psutil库

pip3 install psutil

二、代码

#!/usr/bin/python3 coding=utf-8
import psutil
import uuid
import socket
import os #系统与磁盘挂载
print('##########系统与磁盘信息#########') def get_mac_address():
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
return ":".join([mac[e:e+2] for e in range(0,11,2)]) def get_host_ip():
try:
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.connect(('8.8.8.8',80))
ip=s.getsockname()[0]
finally:
s.close()
return ip def get_load():
f = open("/proc/loadavg")
loadstate=f.read().split()
return loadstate
load_list = get_load()[0:3]
system_load = ''
for i in load_list:
if system_load:
system_load = system_load+','+i
else:
system_load = i myname = socket.getfqdn(socket.gethostname())
print('主机名称:',myname)
print('本机ip地址:',get_host_ip())
print('本机MAC地址:',get_mac_address())
print('系统负载(1,5,15分钟):',system_load)
print('系统进程数:',len(psutil.pids())) devs = psutil.disk_partitions()
for dev in devs:
statvfs = os.statvfs(dev.mountpoint)
devs = psutil.disk_partitions()
for dev in devs:
statvfs = os.statvfs(dev.mountpoint)
total_disk_space = statvfs.f_frsize * statvfs.f_blocks
free_disk_space = statvfs.f_frsize * statvfs.f_bfree
disk_usage = int((total_disk_space - free_disk_space) * 100.0 / total_disk_space)
print('挂在设备:%s,挂载点:%s 磁盘使用率:%d%% 文件系统:%s' % (dev.device,dev.mountpoint,disk_usage,dev.fstype)) #系统负载
def get_load():
f = open("/proc/loadavg")
loadstate=f.read().split()
return loadstate
load_list = get_load()[0:3]
system_load = ''
for i in load_list:
if system_load:
system_load = system_load+','+i
else:
system_load = i print('系统负载(1,5,15分钟):',system_load) #cpu
cts = psutil.cpu_times()
cputime = 0
for item in cts:
if item != 0:
cputime = cputime + item
print('########CPU信息#########')
print('用户时间:%d%%' % (cts.user/cputime * 100))
print('内核时间:%d%%' % (cts.system/cputime * 100))
print('空闲时间:%d%%' % (cts.idle/cputime * 100))
print('逻辑CPU个数:',psutil.cpu_count())
print('物理cpu数量:',psutil.cpu_count(logical=False)) #内存
print('#########内存信息############')
mem = psutil.virtual_memory()
print('内存大小: %dM'%(int(mem.total/1024/1024)))
print('已使用内存: %dM'%(int(mem.used/1000/1000)))
print('剩余内存:%dM'%(int(mem.free/1024/1024)))
print('内存使用率: %d%%'%(int(mem.percent)))

三、运行结果

[root@localhost~]#python3   system_info.py
##########系统与磁盘信息#########
主机名称: localhost.localdomain
本机ip地址: 10.0.0.141
本机MAC地址: :0c::ca:bf:b2
系统负载(,,15分钟): 0.00,0.01,0.05
系统进程数:
挂在设备:/dev/sda2,挂载点:/ 磁盘使用率:% 文件系统:xfs
挂在设备:/dev/sda1,挂载点:/boot 磁盘使用率:% 文件系统:xfs
系统负载(,,15分钟): 0.00,0.01,0.05
########CPU信息#########
用户时间:%
内核时间:%
空闲时间:%
逻辑CPU个数:
物理cpu数量:
#########内存信息############
内存大小: 976M
已使用内存: 431M
剩余内存:201M
内存使用率: %

python3 输出系统信息的更多相关文章

  1. python3输出中文报错的原因,及解决办法(基于pycharm)

    通常python3里面如果有中文,在不连接其他设备和程序的情况下,报错信息大致如下: SyntaxError: Non-UTF-8 code starting with '\xd6' in file ...

  2. python3输出指定log信息

    问题背景: win10 python xxx.py > c:test.txt 上面这句只能把信息输出到test.txt,但是控制台看不到信息 ########################## ...

  3. python3输出range序列

    b=range(3)         #输出的是[0, 1, 2] ,其实这里如果用在循环上,代表着循环多少次,这里是循环3次.从零开始.print(list(b))

  4. uname - 显示输出系统信息

    总览 uname [OPTION]... 描述 显示相应的系统信息. 没有指定选项时,同 -s. -a, --all 显示所有的信息 -m, --machine 显示机器(硬件)类型 -n, --no ...

  5. python3 输出字符

    import string'''whitespace -- a string containing all ASCII whitespaceascii_lowercase -- a string co ...

  6. Python3输出九九乘法表

    for i in range(1,10): for j in range(1,i+1): print('{}x{}={}\t'.format(i, j, i*j), end='') #format格式 ...

  7. python3输出“水仙花数”

    for num in range(100,1000): #如果num在[100,1000)范围,就依次循环取出num的值,第一次取100,下一次取101....最后一次取999 bai = num / ...

  8. python3 输出中文、日文等等乱码问题的解决办法

    例如: url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089' resp = requests.get(url=u ...

  9. python3输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数

    for i in range(1,5): for j in range(1,5): for k in range(1,5): if(i!=j and i!=k and j!=k): print(i*1 ...

随机推荐

  1. tensorflow中的name_scope, variable_scope

    在训练深度网络时,为了减少需要训练参数的个数(比如LSTM模型),或者是多机多卡并行化训练大数据.大模型等情况时,往往就需要共享变量.另外一方面是当一个深度学习模型变得非常复杂的时候,往往存在大量的变 ...

  2. ActiveMQ安装配置及使用 转发 https://www.cnblogs.com/hushaojun/p/6016709.html

    ActiveMQ安装配置及使用 ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JM ...

  3. 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html

    EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南.EasyNetQ是为了提供一个尽可能简洁的适用与R ...

  4. Oracle 周相关函数

    Oracle 周相关函数   select trunc(sysdate,'W'), --每月1日作为第一个星期第一天 取当前周第一天对应日期 trunc(sysdate,'WW'), --每年1月1日 ...

  5. Android/Linux boot time分析优化

    如果需要优化boot time,就需要一个量化的工具来分析每个阶段的时间消耗.这种类型的优化特别适合使用基于timeline的图表,有着明显的时间顺序.要求不但能给出整个流程消耗的时间,还要能对流程进 ...

  6. Gym101138D Strange Queries/BZOJ5016 SNOI2017 一个简单的询问 莫队、前缀和、容斥

    传送门--Gym 传送门--BZOJ THUWC2019D1T1撞题可还行 以前有些人做过还问过我,但是我没有珍惜,直到进入考场才追悔莫及-- 设\(que_{i,j}\)表示询问\((1,i,1,j ...

  7. Apache Spark 内存管理详解(转载)

    Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文旨在梳理出 ...

  8. js 对象与数组相互转化的快捷方法 Object.keys()、Object.values()、Object.entries()

    Object.keys() Object.keys 返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性.这些属性的顺序与手动遍历该对象属性时的一致. 例如: let ...

  9. Python股票分析系列——系列介绍和获取股票数据.p1

    本系列转载自youtuber sentdex博主的教程视频内容 https://www.youtube.com/watch?v=19yyasfGLhk&index=4&list=PLQ ...

  10. Taro开发微信小程序的初体验

    了解Taro 听说Taro是从几个星期前开始的,在一次饭桌上,一个小伙伴说:"Hey, 你听说了Taro么,听说只需要写一套程序就可以生成H5,小程序以及RN的代码模板,并且类似于React ...