Leif160519的blog Leif160519的blog

——————

目录
获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
/    

获取树莓派当前状态和数据(温度、CPU、内存、硬盘)

本文摘自:https://blog.csdn.net/huayucong/article/details/50389910

本篇介绍如何使用Python编写一个能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。

建立脚本

sudo nano get.py

贴入如下代码:

import os
 
# Return CPU temperature as a character string                                     
def getCPUtemperature():
    res =os.popen('vcgencmd measure_temp').readline()
    return(res.replace("temp=","").replace("'C\n",""))
 
# Return RAM information (unit=kb) in a list                                      
# Index 0: total RAM                                                              
# Index 1: used RAM                                                                
# Index 2: free RAM                                                                
def getRAMinfo():
    p =os.popen('free')
    i =0
    while 1:
        i =i +1
        line =p.readline()
        if i==2:
            return(line.split()[1:4])
 
# Return % of CPU used by user as a character string                               
def getCPUuse():
    return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))
 
# Return information about disk space as a list (unit included)                    
# Index 0: total disk space                                                        
# Index 1: used disk space                                                        
# Index 2: remaining disk space                                                    
# Index 3: percentage of disk used                                                 
def getDiskSpace():
    p =os.popen("df -h /")
    i =0
    while1:
        i =i +1
        line =p.readline()
        ifi==2:
            return(line.split()[1:5])
 
 
# CPU informatiom
CPU_temp =getCPUtemperature()
CPU_usage =getCPUuse()
 
# RAM information
# Output is in kb, here I convert it in Mb for readability
RAM_stats =getRAMinfo()
RAM_total =round(int(RAM_stats[0]) /1000,1)
RAM_used =round(int(RAM_stats[1]) /1000,1)
RAM_free =round(int(RAM_stats[2]) /1000,1)
 
# Disk information
DISK_stats =getDiskSpace()
DISK_total =DISK_stats[0]
DISK_used =DISK_stats[1]
DISK_perc =DISK_stats[3]
 
if__name__ =='__main__':
    print('')
    print('CPU Temperature = '+CPU_temp)
    print('CPU Use = '+CPU_usage)
    print('')
    print('RAM Total = '+str(RAM_total)+' MB')
    print('RAM Used = '+str(RAM_used)+' MB')
    print('RAM Free = '+str(RAM_free)+' MB')
    print('') 
    print('DISK Total Space = '+str(DISK_total)+'B')
    print('DISK Used Space = '+str(DISK_used)+'B')
    print('DISK Used Percentage = '+str(DISK_perc))

然后执行:

chmod+x get.py
python get.py

预期输出结果如下:

CPU Temperature = 53.0
CPU Use = 13.5
 
RAM Total = 497.0 MB
RAM Used = 116.0 MB
RAM Free = 381.0 MB
 
DISK Total Space = 3.6GB
DISK Used Space = 1.8GB
DISK Used Percentage = 53%


“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill

标  题获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
作  者Leif160519
出  处https://github.icu/articles/2019/10/08/1570522223668.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!