树莓派有许多系统信息,类似 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

欢迎加入

获取树莓派4系统信息相关推荐

  1. Python获取磁盘使用信息,python获取GPU信息,python根据进程号获取进程信息,pynvml 获取GPU信息,psutil 获取进程信息,系统信息等

    一.工具:psutil模块 psutil是一个跨平台模块,试用相应方法可以直接获取计算机CPU,内存,磁盘,网络等资源使用情况:可以使用我们学习知识与这模块用来做系统监控,性能分析:如果大家熟悉Lin ...

  2. linux python开发环境sql数据迁移到mysql_运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库...

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mys ...

  3. 机智云获取树莓派传来的数据_哪些数据对云来说太冒险了?

    机智云获取树莓派传来的数据 在这个由四部分组成的系列文章中,我们一直在研究每个组织在将操作迁移到云时(特别是在混合多云环境中)应避免的陷阱. 在第一部分中 ,我们介绍了混合云和多云的基本定义以及我们的 ...

  4. 获取树莓派ip的方法(亲测有效)

    环境介绍: 树莓派中安装的是centos,如何在树莓派安装centos,请看下面的文章 树莓派重装centos系统(64位) 安装完系统之后(目前内存卡依然通过读卡器插在电脑上)需要在文件根目录创建一 ...

  5. python获取cpu温度_获取树莓派的CPU和GPU温度(Python)

    在这篇文章里我将为你展示如何使用Python做一个简单的程序来监视你的树莓派温度.可能你还不知道,树莓派内置了一个传感器你可以用来获取树莓派的CPU和GPU温度. 这对于保护你的设备非常有用,举个例子 ...

  6. iOS之获取手机的系统信息

    iOS的APP应用开发过程中,为了bug跟踪或者获取用户反馈,需要自动收集用户设备.系统信息.应用信息等.当然这些信息是用户的非隐私信息,是通过开发api可以获取到的.那么通过哪些api可以获取这些信 ...

  7. html实时获取树莓派温湿度,在树莓派上获取美国天气预报

    大家似乎都很关注天气预报,当然啦,获取准确的天气预报对你的出行计划和其他一些活动来说非常的有用.天气预报信息可以在很多地方获取到,例如网页,大多数的智能手机或是平板电脑.现在你也可以在树莓派上通过&q ...

  8. 共享网络获取树莓派ip_从零开始:树莓派共享 WiFi 秒变无线热点(树莓派路由器...

    概述 树莓派是一款来源于英国慈善组织"Raspberry Pi 基金会"的基于微处理器的硬件平台.核心是 Broadcom ARM 架构 CPU,可以完整运行 Ubuntu.Win ...

  9. 通过snmp获取设备和系统信息

    一.打开snmp服务 以server2008为靶机测试. 从开始->管理工具->打开服务管理器 在服务器管理器中选择功能 选择添加功能 在SNMP处打勾 按下一步进行安装(此处已经安装完成 ...

最新文章

  1. 一步一步实现扫雷游戏(C语言实现)(三)
  2. 微信小程序组件 日历
  3. leaflets + heatmap 加载地图
  4. 仿生计算(参考神经网络)2017年考试卷子,考前抱佛脚必备!!中英翻译版本!!
  5. Could not write file: C:\......\.classpath
  6. antd 表格树如何展开_如何分析工作,找出规律,使用excel大幅度提高工作效率...
  7. python 问题集
  8. html canvas blob image 污染源
  9. Linux(2) vi和vim编辑器
  10. 从零基础入门Tensorflow2.0 ----八、41. estimator分布式实战
  11. 景德镇昌江一中2021年高考成绩查询,2021年景德镇中考分数线公布填报志愿时间及录取结果什么时候出...
  12. mysql 2182_MySql常用命令总结
  13. AV1 解码器 dav1d
  14. 零基础学FPGA(二):FPGA生产厂家及产品(呕心沥血,小白如何选择板卡)
  15. 2.过滤函数-filter/filter-out
  16. 关于USB3.0的U盘正确用法
  17. 多宽带联网(一) OpenWrt中使用Macvlan实现单线多拨上网
  18. Docker(五)——Docker镜像仓库
  19. 10-webrtc实现1V1音视频实时互动直播系统
  20. 计算机网络基本概念汇总

热门文章

  1. Matlab用三种格式来表示日期与时间
  2. 如何将revit的内建模型导出使用?项目族管理功能介绍
  3. [文心大模型创意项目]还在愁没有头像?属于你的个人头像来了!
  4. 虚拟主机和服务器的区别
  5. 普通话测试app怎么样可以不交钱_和小首一起好好说普通话!
  6. 矩阵键盘_按键检测_按键次数检测
  7. 墙裂安利!用腾讯云AI语音合成打造自己的第一本有声书
  8. Centos7.5 升级openssh到9.0p1
  9. windows下用cmd卸载程序
  10. 故事要从我白嫖了一个阿里云服务器说起