当使用树莓派时,需要在其系统中部署几个不同功能的程序系统,这些功能涉及数据库读写、串口读写、Web访问等,因此使系统使用压力较大。我们经常需要查看当前系统的性能,这就需要了解CPU、内存和硬盘的使用情况。本节将介绍查看这些系统资源使用情况的两种方式。
通过vmstat命令直接查看树莓派的CPU、内存和硬盘的使用情况,具体如下:
vmstat n m (n 为监控频率、m为监控次数)
在终端直接运行vmstat命令即可查看当前系统资源的使用量,如图3.5所示。
图3.5 vmstat查看系统资源
同时,也可以使用其他单独的命令来查看内存使用量,具体命令如下:
free -m
或者查看磁盘空间利用情况,命令如下:
df -h
查询当前目录下空间使用情况,命令如下:
-h参数是人性化显示 -s参数是递归整个目录的大小 du -sh
查看该目录下所有文件夹排序后的大小,命令如下:
for i in `ls`; do du -sh $i; done | sort 或者 du -sh `ls`
当需要持续监控应用的某个数据变化时,可以使用watch工具。执行watch命令后,会进入一个界面中,输出当前被监控的数据。一旦数据变化,就会高亮显示变化情况。例如,操作redis时,监控内存变化命令如下:
$watch -d -n 1 './redis-cli info | grep memory'
以下为watch工具中的界面内容,一旦内存变化,就会实时高亮显示变化:
Every 1.0s: ./redis-cli info | grep memory raspberrypi: Fri Mar 13 14:13:36 2020 used_memory:45157376 used_memory_human:43.07M used_memory_rss:47628288 used_memory_peak:49686080 used_memory_peak_human:47.38M
在3.4.1节中,使用的是命令行的方式查看树莓派系统资源的使用情况,本节将提供一个Python脚本,用来监控CPU温度、CPU占用、内存占用和硬盘占用情况。
首先新建一个Python文件,命名为manage.py,然后打开树莓派自带的Thonny编辑器,添加如下代码:
【实例3.1】 读取树莓派资源占用情况(实例位置:资源包\Code\02\01)
一旦单击Thonny的绿色Run按钮,程序就会运行,结果如图3.6所示。
图3.6 使用脚本查看系统资源使用
或在终端执行如下命令:
chmod +x manage.py python manage.py
输出结果应与图3.6一致,只不过未占用的资源会输出为0.0,而非图3.6中的不显示。