Jump to content

OPi Zero: recovering lost memory


1xe

Recommended Posts

On a fresh install of Armbian 20.08.1/Linux 5.8.5-sunxi on an OPi Zero (256MB version), total memory is 238MB according to "free -m":

root@orangepizero:~# free -m
              total        used        free      shared  buff/cache   available
Mem:            238          74          78           1          85         154
Swap:           119           0         119

238MB is not 256MB. :-)

 

I assume the discrepancy is due to reserved framebuffer memory, but after a bit of testing I've found that the "sunxi_fb_mem_reserve" parameter (set to "16" in /boot/boot.cmd by default) has no apparent effect.


Here's a boot with the Armbian default "sunxi_fb_mem_reserve=16":

root@orangepizero:~# dmesg | grep "command line" && free -m
[    0.000000] Kernel command line: root=UUID=442e3394-ebc5-4a14-82f8-235d74d6b2e5 rootwait rootfstype=ext4 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 consoleblank=0 loglevel=1 ubootpart=7d536c8c-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u   sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1
              total        used        free      shared  buff/cache   available
Mem:            238          73          82           1          81         155
Swap:           119           0         119

A boot with "sunxi_fb_mem_reserve=0":

root@orangepizero:~# dmesg | grep "command line" && free -m
[    0.000000] Kernel command line: root=UUID=442e3394-ebc5-4a14-82f8-235d74d6b2e5 rootwait rootfstype=ext4 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 consoleblank=0 loglevel=1 ubootpart=7d536c8c-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u   sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=0 cgroup_enable=memory swapaccount=1
              total        used        free      shared  buff/cache   available
Mem:            238          74          82           1          81         154
Swap:           119           0         119

A boot with "sunxi_fb_mem_reserve=32" (the kernel default according to https://linux-sunxi.org/Kernel_arguments):

root@orangepizero:~# dmesg | grep "command line" && free -m
[    0.000000] Kernel command line: root=UUID=442e3394-ebc5-4a14-82f8-235d74d6b2e5 rootwait rootfstype=ext4 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 consoleblank=0 loglevel=1 ubootpart=7d536c8c-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u   sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=32 cgroup_enable=memory swapaccount=1
              total        used        free      shared  buff/cache   available
Mem:            238          74          82           1          81         154
Swap:           119           0         119

Now, since I'm building a headless server and have no actual use for a framebuffer and "sunxi_fb_mem_reserve=0" doesn't appear to work, is there any other way to recover the framebuffer memory?

 

Or am I completely off track and the memory is taken by something else entirely? ;-)

Link to comment
Share on other sites

20 hours ago, 1xe said:

the kernel default according to

 

cma=96M the amount of memory to reserve for contimuous allocation. Default is 16M so you have to raise it for the Cedar ve_size to fit.

Link to comment
Share on other sites

2 hours ago, Igor said:

 

cma=96M the amount of memory to reserve for contimuous allocation. Default is 16M so you have to raise it for the Cedar ve_size to fit.

I'm not sure what you're trying to tell me, but I did a few boots with the "cma" parameter set to different values (from 64M to 144M), and it had no effect on the total amount of memory reported by "free".

Link to comment
Share on other sites

1 hour ago, 1xe said:

I'm not sure what you're trying to tell me, but I did a few boots with the "cma" parameter set to different values (from 64M to 144M), and it had no effect on the total amount of memory reported by "free".

 

It should have effect unless you set parameter wrong or this value is fixed since ...

Provide

armbianmonitor -u

after you added this parameter and I will be able to tell you more. Now I am blind.

Link to comment
Share on other sites

22 hours ago, Igor said:

 

It should have effect unless you set parameter wrong or this value is fixed since ...

Provide


armbianmonitor -u

after you added this parameter and I will be able to tell you more. Now I am blind.

 

Done: http://ix.io/2x7v

 

Notice how the "cma" parameter appears to be picked up correctly, but has no effect on the total amount of memory.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines