鉴于此机器的主要用例具有教育意义:我将运行轻量级python脚本和Web浏览。通过切换到仅32MB的内存,是否有可能遭受功能损失?
我不希望使用任何3D或播放任何视频。
#1 楼
我希望您不会遇到明显的不同,除非您正在执行图形繁重的任务,例如播放视频。但是,由于性能限制会根据正在执行的应用程序和用户期望而有所不同,因此很难评估最佳设置。
最好的办法就是实验。
如果您想更改分割,则有两种不同的方法,具体取决于所使用的固件。如果可能,请确保您具有最新固件。如果由于某种原因无法进行更新,则以下两个选项均已包括在内:
新固件(2012年10月之后)
编辑
/boot/config.txt
并添加或编辑以下行:gpu_mem=16
值可以是
16
,64
,128
或256
,表示GPU可用的RAM数量。旧固件(2012年10月之前)
要更改视频内存,您需要替换图像
start.elf
分区上的/boot/
文件。可能的.elf
文件应位于Pi的/boot/
目录中。您可以通过将start.elf
文件替换为其他文件来进行切换。共有三种内存模型,以下是Raspberry Pi讨论板上的建议:
224MB RAM和32MB VRAM用于Linux桌面发行版,或不需要播放视频或渲染3D的沉重(非
GUI)应用程序。
/>想要播放视频或具有3D效果的台式机发行版的192MB RAM和64MB VRAM(默认)。
用于广泛应用程序和游戏的128MB RAM和128MB VRAM
多媒体或玩3D渲染游戏。
还有一个:
240MB RAM和16 VRAM用于图形功能几乎为零。有足够的
GPU内存可渲染屏幕,但除此之外就不多了。当您
需要进一步提高非GUI性能时使用此功能。
评论
我已经更新了新的512MB型号的答案。
–活动
2012年10月24日16:33
字幕似乎增加了内存需求。对于带字幕的1080p视频,严格来说64MB是不够的。
–拉斐尔
13年3月27日在7:42
#2 楼
RAM对于Linux性能非常重要,原因有以下几个:缓存。 Linux大部分时间都在没有可用内存的情况下运行。如果应用程序未使用某些内存,则将其用于缓存以加快处理速度。因此,不会浪费任何内存。如果应用程序需要更多内存,则释放缓存,因此缓存永远不会阻止需要更多RAM的应用程序运行。但是,当然,您可以缓存的越多越好。
如今,许多应用程序(尤其是台式机应用程序)需要大量内存才能运行。这不足为奇-如今,大多数台式机系统(甚至是智能手机)的内存都比Rapsberry Pi多得多。例如,即使是轻量级的Web浏览器)在打开一些较大的网站时也会占用数十MB的内存。
每个应用程序都需要一定数量的内存。因此,您运行的应用程序越多,它们使用的内存就越多。
因此,您始终希望拥有尽可能多的ARM内存。但是GPU有自己的需求,具体取决于您希望从中获得什么功能。
256MB版本
对于具有256 MB RAM的较旧的RaspberryPi,可以使用4个拆分:
240/16-带有微型GPU内存的ARM可获得的最大RAM大小(240MB)。当您不需要3D图形或硬件视频加速时,它是通用计算的最佳选择。它有足够的内存来处理1920x1200x16bpp帧缓冲区分辨率。虽然32bpp也可以使用,但不建议这样做,因为它为GPU留下了很少的可用内存。
224/32-不赞成使用此模式,而建议使用240/16分割。它具有3D
和内置的硬件视频解码功能,但是由于没有足够的内存来实际使用它,因此使用它毫无意义。除非
您在240/16分割时遇到一些问题,或者想以最高分辨率使用32bpp
帧缓冲区。将来有可能会被删除。
可能没有足够的GPU内存用于
高分辨率的硬件加速视频播放,或者如果您
需要大量的GPU内存来处理纹理之类的东西。
128 / 128-可以获得最多RAM的GPU。当您需要大量
内存用于3D图形卡和高分辨率的硬件加速视频播放时,可以使用它。要使RaspBMC正常工作或
使用omxplayer播放全高清视频内容而不会出现问题,需要进行此拆分。
512MB版本
新版本的RaspberryPi具有512 MB的内存。您还为此版本设计了4个额外的拆分:
496/16和448/64-像
240/16
和192/64
拆分分别为256MB,但还有256MB以上的RAM用于ARM。由于GPU只有16 MB / 64MB或RAM,因此240/16
/ 192/64
的所有限制仍然适用。384/128-与256MB的128/128分割类似-您应该获得所有图形芯片功能但具有合理的ARM内存量。
动态拆分
新版本的固件包已删除大部分
start_*.elf
文件,仅保留start.elf
和start_cd.elf
(还添加了fixup*.elf
文件)。从现在开始,您不必手动选择适当的start_*.file
。相反,您应该使用gpu_mem*
文件中的config.txt
选项来选择将多少内存分配给GPU。剩余的内存将分配给ARM。对于此选项,应该可以在以下范围内使用任意数字:**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
虽然目前没有硬编码的分割值,但是当您尝试确定应为GPU分配多少内存时,此答案其余部分的大多数信息仍然应该有效。
相应文件的版本,仅在
start_cd.elf
时使用。在256 MB和512 MB版本上同时使用一个SD卡
如果将一个SD卡映像用于不同的RaspberryPi版本,则可以使用
fixup_cd.elf
和gpu_mem=16
选项。第一个仅在256MB版本上使用,第二个仅在512MB版本上使用。评论
是的,如果您想同时使用XBMC和LXDE而又不用在切换切换之前进行无聊的手动配置文件更改,或者如果Pi是您每天要使用的主计算机,那么升级是值得的。
–avra
2012年11月22日13:09
有用的指导。要澄清-无头跑步的最佳分割是什么?例如,rpi摄像头模块是否具有GPU要求?
–地理理论
2014年4月20日14:30在
现在有一个gpu_mem_1024,毫无疑问,它是1024 MB RPis-当前是RPi 2 B(我猜是A,如果有的话)?
– SlySven
16年1月20日在9:02
根据elinux.org/RPiconfig#Camera,照相机模块在/boot/config.txt中需要以下几行:start_x = 1和gpu_mem = 128或更多。另外,/ usr / bin / raspi-config具有启用摄像机的选项。
–mpb
16年8月13日在22:01
#3 楼
根据我的经验,仅终端需要8-16MB。800p GUI只需20MB
1080p GUI只需24MB
1440p GUI只需32MB
<1080p youtube videos <64 /> <128 /> 128MB用于1080p youtube视频
用于4k视频的256MB(很有可能Pi不能很好地完成4k)。
评论
对于3B +及更早版本,这是正确的,对于4B,请不要设置值,让系统计算出一个最佳值。不要在4B上设置超过256MB的值。
–道奇
19年12月21日在3:25
评论
确保调整互换性:D等等,这有42票。这不是问题,而是答案!
我相信现在值的范围会更宽,并且,按照@Krysztof Adamski的回答,可以在config.txt中为不同的总内存大小指定特定的拆分,以便同一张卡放在不同的RPis-我猜这在准备发行版时很有用...