打造自己的树莓派监控系统2--内存监控-matplotlib显示数据
发布日期:2022-03-18 18:19:19
浏览次数:2
分类:技术文章
本文共 1985 字,大约阅读时间需要 6 分钟。
系列文章:
- 文章1:
- 文章2:
- 文章3:
- GitHub仓库:
代码编写
树莓派的内存使用情况可以使用如下命令查看:
free -m
结果如下:
total used free shared buff/cache availableMem: 927 353 32 48 540 470Swap: 0 0 0
而’free -m’命令是通过查看/proc/meminfo文件获得信息的:
cat /proc/meminfo
使用如下命令查看可用内存:
cat /proc/meminfo | grep MemAvailable
然后开始写代码:
获取内存:def get_mem(): try: MemAvailable = os.popen( "cat /proc/meminfo | grep MemAvailable |awk '{print $2 / 1024}'").readline() MemAvailable = float(MemAvailable) return MemAvailable except Exception as e: print(e)
数据存放在数据库:
def create(): # 创建数据库 global conn conn = sqlite3.connect('data.db') conn.execute(""" create table if not exists mem( id INTEGER PRIMARY KEY , mem DOUBLE DEFAULT NULL, time INTEGER DEFAULT NULL)""") conn.commit()def save(mem): # 将数据保存至本地 global conn command1 = "insert into mem \ (mem,time) values (?,?);" try: temp = (mem, int(round(time.time() * 1000))) conn.execute(command1, temp) except Exception as e: print(e) print("insert error!") conn.rollback() conn.commit()
最后是画图:
def mem(): import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt global conn connect() mem,MemTotal = mem_get() ID = len(mem) past = datetime.datetime.now()-datetime.timedelta(minutes=ID) x = [past+datetime.timedelta(minutes=i) for i in range(ID)] plt.title("time and memory usage", fontsize=25) plt.xlabel("time", fontsize=15) plt.ylabel("memory usage", fontsize=15) plt.plot(x, mem) plt.ylim(0,MemTotal) plt.gcf().autofmt_xdate() plt.savefig('static/mem.jpg')
运行
此项目的GitHub地址:
运行如下命令:git clone https://github.com/zhang0peter/raspberry-pi-monitor.gitcd raspberry-pi-monitor/screen -S raspberry-pi-monitorbash main.sh
然后在浏览器中打开即可看到树莓派内存使用情况-时间图:
转载地址:https://zhang0peter.blog.csdn.net/article/details/84288281 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月06日 01时30分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
5w2h原则指的是什么_什么是5W2H分析法?一首小诗带入进入大门。
2019-04-21
ad19 导出step 没有pcb_几款主流PCB软件哪个最好用,你用过几款?
2019-04-21
ocdma相干非相干_《Acconeer 60GHz脉冲相干雷达芯片:A111》
2019-04-21
修改表格字体颜色_Excel技巧:Excel如何修改字体颜色
2019-04-21
prism项目搭建 wpf_WPF MVVM使用prism4.1搭建
2019-04-21
python中func自定义函数_Python函数之自定义函数&作用域&闭包
2019-04-21
wget连接指定端口_端口通不通 telnet wget ssh
2019-04-21
easyexcel 工具类_问了个在阿里的同学,他们常用的15款开发者工具!
2019-04-21
mysql统计结果大于0时返回true_mysql表查询练习
2021-06-24
c语言对结构体排序中间变量,求助:c语言怎么实现结构体的排序? 总是弄不对啊...
2021-06-24
c语言宏定义只能在最前面吗,C语言宏定义注意事项
2021-06-24
android悬浮窗服务卡死,Android 悬浮窗兼容问题谈
2021-06-24
表格相关的html语言,HTML标记语言——表格标记
2021-06-24
web聊天界面html,PC端Web聊天界面+代码分享(HTML+CSS)
2021-06-24
cmake qt 添加路径 项目_CMake配置Qt工程
2021-06-24