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

写在前面

不同的人用树莓派做不同的事情,比如个人编程入门练习机、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 122 20:44 customizations
-rw-r--r-- 1 root root  163 1118 03:34 default
drwxr-xr-x 4 root root 4.0K 122 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!!!

  • 7
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值