树莓派4B系列教程三 :优化配置

  • 写在前面
  • 树莓派4B内存增加
  • CPU温度控制
  • 显存优化
  • Chromuim缓存转移
  • 优化自启程序
  • Chromium插件安装
  • 离线安装插件时遇到的问题
  • 结语

写在前面

不同的人用树莓派做不同的事情,比如个人编程入门练习机、AI开发学习机、个人电脑等。

树莓派4B性能偏弱,作为办公PC,还有很长的路要走的。
我主要用树莓派4B实现网页视频播放,C/C++开发环境,我的工作SCADA软件测试平台。不同的需求,优化配置会不一样,一定要明确自己的需求再去优化,不然负优化就不值得了。

首先,定位网页视频播放,推荐4G内存以上,内存不够会引起卡顿。视频播放需要CPU处于高负载运行,CPU温度过高,树莓派会自动降频,需要优化温度控制(金属壳被动散热或者风扇风冷主动散热)。视频播放需要用到显示功能,需要优化显存大小。Chromium的缓存一般在硬盘上,树莓派4B的硬盘是SD卡,突发奇想,可以把Chromium的缓存优化到内存上。

总结下来,视频播放的主要优化方向是:
(1)增加内存(这个技术没办法解决,只能加钱了)
(2)CPU温度控制
(3)显存GPU的内存增加
(4)Chromium缓存转移
(5)Chromium插件安装与推荐

树莓派4B内存增加

树莓派4B的内存是板载的,没办法像个人PC那样通过内存条扩展了。请在购买时,根据个人用途选择不同的内存版本,有1G/4G/8G等版本,价钱也会一次递增哟。

CPU温度控制

记得,2019年夏天在使用树莓派4B看视频时,视频总是一卡一卡的,后来发现是树莓派4B的温度高达90℃,板子非常烫(树莓派的缺点体现出来了)。树莓派在监测过温时,防止芯片损坏,会自动降低频率运行,所以会有卡顿发生。

树莓派查看CPU的温度指令如下所示:

pi@raspberrypi:~ $ vcgencmd measure_temp
temp=51.1'C

降低温度的措施,基本就是加散热片、散热风扇,高端一点就上水冷(个人觉得代价有点大)。

我个人选择加CPU/内存等散热片和散热风扇。加上着2个玩意儿后,温度基本上压在35℃左右。

可是问题又发生了(折腾的本性再次暴露),散热风扇通电一直工作,还有一点噪音,这个有点难以忍受,而且CPU温度高是发生在看视频的时候,大部分上班没有时间玩啊。

开始想了2个方案(哎,年轻人想得太多,做得太少了),搞个三极管实现PWM智能调速,或者搞个继电器实现温度闭环控制。
手头上刚好有个继电器,于是选择方案2了。

虽然这个温度闭环控制不算难,但是还是需要一点电路知识和动手能力,后面有时间单独写一节吧,在这里先想到此处为止咯。

显存优化

优化建议:
(1)如果把树莓派用作服务器,无桌面或者无视频输出,则可以减少分配给GPU的内存(最少为16MB)。
(2)如果把树莓派用作桌面系统或者视频输出,则需要给GPU分配较大的内存,从而提高GPU性能,使其更好地渲染画面。
根据我的需要,我选择方案2,将显存修改为512M(4G内存,可以任性)。

修改显存大小可以通过命令行或者界面的方式。
界面中修改:

开始-->首选项-->RaspberryPiConfiguration-->GPU Memory-->512

修改后,需要重启才能生效哟。

或者终端模式,在/boot/config.txt中加入gpu_mem=512

[all]
#dtoverlay=vc4-fkms-v3d
gpu_mem=512

Chromuim缓存转移

众所周知,内存读写速度远远超过硬盘,硬盘的速度又超过SD卡,SD卡又有擦写寿命。我是拿树莓派4B当成网页视频播放器使用,更是频繁读写磁盘的,,必须优化(哎,折腾癌又犯了),否则说不定卡顿哟。

在PC的Chrome浏览器中,直接有设置选项将缓存目录修改到内存磁盘(RamDisk,相当于把内存虚拟成磁盘,存放系统临时数据,注意掉电数据就丢失了,慎用,需要软件开启内存磁盘功能,我平时将内存虚拟出2G出来),一方面提高浏览器的读写磁盘速度,另一方提升磁盘寿命咯(哎,总是折腾些没有用的)。

基于上面的思路,在树莓派中直接将Chromium浏览器的缓存改到内存磁盘中,linux系统是直接有内存磁盘(linux相对windows的方便之处),一般挂载在/dev/shm这个路径下。

pi@raspberrypi:~ $ df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/root        15G  3.3G   11G   24% /
devtmpfs        1.6G     0  1.6G    0% /dev
tmpfs           1.7G     0  1.7G    0% /dev/shm
tmpfs           1.7G  8.6M  1.7G    1% /run
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   54M  199M   22% /boot
tmpfs           340M  4.0K  340M    1% /run/user/1000

从上面磁盘查看命令结果可以看出,tmpfs就是内存,挂载在多个路径下,我们可以直接访问/dev/shm。

懂了原理,举一反三,可以自由发挥搞事情咯。

pi@raspberrypi:/etc/chromium-browser $ pwd
/etc/chromium-browser
pi@raspberrypi:/etc/chromium-browser $ ls -hl
总用量 12K
drwxr-xr-x 2 root root 4.0K 12月  2 20:44 customizations
-rw-r--r-- 1 root root  163 11月 18 03:34 default
drwxr-xr-x 4 root root 4.0K 12月  2 20:43 policies

在/etc/chromium-browser路径下,可以设置chroumium浏览器的一些属性,缓存可以在default配置文件中加入。

pi@raspberrypi:/etc/chromium-browser $ cat default
# Default settings for chromium-browser. This file is sourced by /bin/sh from
# /usr/bin/chromium-browser# Options to pass to chromium-browser
CHROMIUM_FLAGS="--disk-cache-dir=/dev/shm  --disk-cache-size=1048576000"

通过上面Flags可知,将Chromium浏览器的磁盘缓存目录修改为/dev/shm,磁盘缓存大小设置为1000M(可以根据自己内存大小配置)

OK,至此温度问题引起降频卡顿问题解决、视频渲染卡顿问题解决、浏览器读写内存慢问题解决,网页视频播放基本上不大会有卡顿的问题了。

优化自启程序

(1)打印服务
$ sudo systemctl stop cups
$ sudo systemctl disable cups
$ sudo systemctl stop cups-browsed
$ sudo systemctl disable cups-browsed

Chromium插件安装

Chromium浏览器非常强大,有非常丰富的插件供用户选择。
国内无法访问google的,比较麻烦的就是同步问题、谷歌插件商店访问问题。
如果直接能访问google插件商店,插件安装就是点点鼠标的事情了。当然,你也可以去找第三方插件网站离线安装,不过我嫌弃比较麻烦(哎,再次折腾)。

最近1年,主要用iguge插件来实现谷歌账户同步问题、谷歌插件商店访问、谷歌搜索问题,这个插件对谷歌服务都是免费的,其他国外流量是付费的,满足我的个人需求,推荐一波吧。当然,这个插件可能有时效性,不敢保证开发者会一直坚持这个策略,具体情况具体对待吧。
iguge的官网:https://iguge.app/

解决了谷歌插件商店访问问题,那么安装插件就是动动鼠标的问题,根据个人需求安装吧。
我在这里说说自己的插件:
video speed controller – html5网页倍速控制插件
广告终结者 – 过滤网页广告插件
auto clean cache & hisstory cleaner -缓存自动清理(突发奇想,按照指定周期自定清理缓存,给内存自动挪空间)

离线安装插件时遇到的问题

树莓派4B的Chromium浏览器无法从该网站添加应用,扩展程序或脚本
https://blog.csdn.net/hxspace/article/details/105095455

结语

本节终于写完了,想到哪儿就写到啊儿,都不知道在写什么。
哎,不容易,终于可以安心地看个视频了。
生命不止,折腾不息。
Good luck!!!

树莓派4B系列教程三 :优化配置相关推荐

  1. 树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)

        树莓派官方支持av及HDMI输出,板子上预留了一个csi接口的液晶显示屏,但是一直没有相应的模组出现.在很多应用场合我们需要一些小型的液晶屏显示一些基本的信息,所以小屏驱动很是必要. 在git ...

  2. Fastify 系列教程三 (验证、序列化和生命周期)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) Fastify 系列教程三 (验证.序列化和生命周期) Fastify ...

  3. Exchange server 2010系列教程之九 配置exchange server 2010 OWA(3)

    Exchange server 2010系列教程之九 配置exchange server 2010 OWA(3) 前面俩节说了owa的登录和webmail的简化,以及SSO的实现.下面大家看看这个网站 ...

  4. SpringCloud 入门教程(三): 配置自动刷新

    Spring Cloud 入门教程(三): 配置自动刷新 之前讲的配置管理, 只有在应用启动时会读取到GIT的内容, 之后只要应用不重启,GIT中文件的修改,应用无法感知, 即使重启Config Se ...

  5. 汇川技术小型PLC梯形图编程系列教程(三):PLC系统程序与用户程序介绍

    原文链接:汇川技术小型PLC梯形图编程系列教程(三):PLC系统程序与用户程序介绍 PLC的定义 可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子系统.它采用一种可编程的存储器,在其 ...

  6. RaspberryPi树莓派4B安装系统及基础配置

    目录 1.前言 2.烧录Raspbian Buster系统到Micro SD卡 3.无屏幕远程登录树莓派图形化桌面 4.更改apt软件源与系统源,安装中文字体.中文输入法 5.树莓派连接3.5寸触摸屏 ...

  7. 树莓派4B体验UbuntuDesktop20.10——优化篇

    啰嗦一下 最近因为项目上比较忙,只能在业余时间来完成这篇文章,这一下就憋了两三个星期.整个过程是边使用.边优化.边记录.这里只是日常使用中的轻度优化,目的是为了在刚安装完系统后,能使用得顺手一些,并没 ...

  8. keil debug如何在watch直接修改变量值_printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』...

    本文原创作者『strongerHuang』 首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 标签:printf. SWD. SWO. SWV. ITM. JL ...

  9. kodi树莓派_树莓派如何安装最新版Kodi 18.6 及树莓派4B针对Kodi的优化

    树莓派版本:4B - 4G版 系统: Raspbian Buster with desktop full version 如果你的树莓派正在吃灰,那么可以把它们接到你的客厅,或者卧室的电视机,装个Ko ...

最新文章

  1. react 子组件获取变量属性值
  2. 阿里云双12服务器和阿里云双12数据库活动又开始了
  3. ICRA 2022 | CaTGrasp: 从模拟器中学习类别级的任务相关的抓取姿态
  4. JAVa读取文件的附加属性,Java 读取属性文件
  5. 基因行业容器存储解决方案
  6. c语言中错误为ffblk未定义,C语言中头文件及函数的含意的总分类
  7. python给空列表赋值_Python Pandas:如果数据是NaN,则更改为0,否则在数据框中更改为1...
  8. hive 配置用户名_hive的用户和用户权限
  9. 纯电动两档箱实际项目模型,本模型基于Cruise软件和搭建完成,本资料包包含所有源文件
  10. 三宝小精灵机器人_“三宝”机器人
  11. ContextCapture空三后像控点颜色含义
  12. proteus中示波器的各刻度的含义
  13. linux全盘扫描,3个有用的基于GUI和终端的Linux磁盘扫描工具
  14. 相逢在栀枝花开的季节
  15. 世纪佳缘再出事故,区块链能成为搅动婚恋行业的新鲶鱼吗?
  16. Unity NGUI 插件 简介
  17. 科创板一年突破1.7万亿的最全真相 | 钛媒体封面特刊
  18. c语言程序设计库搜索app,C语言编程宝典app
  19. 汽车之家牵手网易云音乐,“用车+音乐”的跨界才更有滋味
  20. 网络安全之IPSEC路由基本配置

热门文章

  1. 医用显示器,样机试用,接受退货
  2. MBR平板膜技术应用 市政污水处理升级工艺“再思考”
  3. 根据字典数据计算互信息
  4. WGAN-gp模型——pytorch实现
  5. 我是如何做到日赚10000美元的
  6. 5G网关如何赋能智慧油井监测?油井管理如何迈上新台阶
  7. quot;CoolReaperquot; --酷派手机后门
  8. Android开源益智游戏“斗地主”单机版源代码
  9. CTA-OS-数据开关
  10. python中的继承和多继承及抽象