当前位置: 首页 > article >正文

获取树莓派4系统信息

树莓派有许多系统信息,类似 CPU 细节、处理器的当前温度、内存大小。但不是所有的信息都放在一个地方,我们来学习一些方法,如何找到树莓派中这些有趣的数据。

/proc 下的信息

除了标准系统资源工具,好像 ps、 df、 top 和其他一些有用的命令,如: htop、 iotop、 glances, 系统信息可以在 /proc 文件系统下找到。一个最常用的就是 cpuinfo 文件, 包含了系统 CPU 数据。输入一下命令:

cat /proc/cpuinfo

结果是这样的:
图片
从输出可以看出,使用的是 BCM2385 处理器,应该是4核的,并且是居于Arm7的构架。
除了 cupinfo ,在 /proc 文件系统下面还有一些有价值的信息:
图片
如上所示:meminfo、partitions、version 等。这些都可以用 cat 命令来查看:
图片

vcgencmd 命令

Linux 系统可以使用 /proc 来获取系统信息,树莓派还有一些这对这块板子的专有命令,例如: vcgencmd。vcgencmd 表示的是 ‘VideoCore general commands (视频核心通用命令)’,它可以发送命令给 VideoCore。 VideoCore 是树莓派中的低功耗多媒体处理器。 vcgencmd 功能强大,用下面的命令可以查看支持的功能参数:

vcgencmd commands

效果是这样的:
图片
可以看出, vcgencmd 支持测量时钟频率、电压、核心温度等。

测量温度

树莓派设计为一种小型低功耗的电脑,最大温度不能超过 85° 摄氏度。如果高于这个温度就存在设备受到永久性损坏的风险。因此有必要学习如何测量树莓派的核心温度。
这个方法很简单,登陆到树莓派,然后运行如下命令:

vcgencmd measure_temp

结果如下图所示:
图片
如果,你想提取里面的数字应用到程序中,还可以这样:

vcgencmd measure_temp | sed -En "s/temp=(.*)'C/\1/p"

结果应该是像下面图中的样子:
图片

时钟频率

另一个有用的信息是 CPU 的当前频率和最小、最大频率:

cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq

图片
也可以查看单核的频率(cpu0 - cpu3):

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

图片
600MHz ~ 1.5GHz,当前运行在最小频率,看来使用率还很低。
也可以使用 vcgencmd 来查询时钟频率:

vcgencmd measure_clock CLOCKNAME

其中,CLOCKNAME 可以是 h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, or dpi。也可以用脚本全部打印出来:

for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
done

图片

电压

使用 vcgencmd 还可以查询 core, sdram_c, sdram_i, and sdram_p 的电压:

vcgencmd measure_volts core

同样,也可以使用脚本全部列出:

for id in core sdram_c sdram_i sdram_p ; do \
echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \
done

图片

硬编码

想看看硬编码打开了吗,支持这些H264, MPG2, WVC1, MPG4, MJPG, or WMV9:

vcgencmd codec_enabled H264

同样也有简便方法看全部:

for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \
echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \
done

图片

配置项

使用 get_config 参数可以打印出配置信息:

get_config [config|int|str]
  • config - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq
  • int - 列出所有已设置的整形配置参数(非零)
  • str - 列出所有已设置的字符型配置参数(非零)

图片

内存分配

想知道在 CPU 和 GPU 之间的内存分配情况吗?可以使用如下命令:

vcgencmd get_mem arm && vcgencmd get_mem gpu

图片

OTP

显示一次性可编程(OTP)内存的内容:

vcgencmd otp_dump

图片
位置28和30存储/proc/cpuinfo显示的序列值和修订号(序列值还用于确定以太网MAC地址),位置32存储质保位的值。其他位置的值用途未知。

空闲内存

看看有多少空闲内存供系统使用:

free -m -h

图片

视频输出控制

打开关闭视频输出:

# 关闭视频输出
vcgencmd display_power 0
# 打开视频输出
vcgencmd display_power 1

欢迎加入

在这里插入图片描述

http://www.lryc.cn/news/2420843.html

相关文章:

  • GBK 编码
  • 地心一号-基于STM8的超迷你自平衡小车-DIY套件
  • ARPU与ARPPU 的概念
  • 物联网实训Day2
  • information security -- 网络拓扑
  • 0基础学IT有有哪些步骤
  • 河南科技大学计算机科学与技术分数线,河南科技大学2020年录取分数线(附2017-2020年分数线)...
  • DLL文件 VC++Matlab混合编程( 调用DLL)
  • 使用VMware Workstation安装Windows10虚拟机(超详细,每一步都有)
  • 揭秘软文外链代发产业
  • 张驰课堂:六西格玛绿带培训证书的作用
  • 实战:小程序购物商城
  • Python]网络爬虫
  • app自动化测试面试题(含答案)
  • python开发的软件有哪些,python一般用来开发什么
  • linux下svn服务器搭建及使用
  • 百度地图api基本用法
  • 自己怎么搭建云存储服务器?
  • 228. Web前端网页制作 蓝色的wap手机旅游网页设计实例 大学生期末大作业 html+css+js
  • 华为性格测试挂的原因是什么?这局怎么破?
  • java接入秒嘀API实现发送短信功能
  • websocket在线测试网站
  • 主题设置_微信主题怎么设置皮肤?猫和老鼠微信主题皮肤链接入口
  • c语言运算符重载格式,运算符重载函数的两种形式
  • Java中随机数函数Random()详解+案例
  • 获取字符串首字母拼音
  • Android快速入门_总结
  • 十个让你获得高质量外链资源的方法
  • 基于Qualcomm Robotics RB5边缘侧AI应用—人群热力图
  • joomla本地安装全过程