python3 輸出系統信息


一、安裝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地址: 00:0c:19:ca:bf:b2
系統負載(1,5,15分鍾): 0.00,0.01,0.05
系統進程數: 90
掛在設備:/dev/sda2,掛載點:/ 磁盤使用率:37%  文件系統:xfs
掛在設備:/dev/sda1,掛載點:/boot 磁盤使用率:11%  文件系統:xfs
系統負載(1,5,15分鍾): 0.00,0.01,0.05
########CPU信息#########
用戶時間:0%
內核時間:0%
空閑時間:98%
邏輯CPU個數: 1
物理cpu數量: 1
#########內存信息############
內存大小: 976M
已使用內存: 431M
剩余內存:201M
內存使用率: 56%

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM