Nvidia Jetson Orin shows 6.3GB of RAM

@DaneLLL I reinstalled the nvidia-l4t-bootloader package which downloaded the latest version from nvidia apt repos. I saw logging that the bootloader capsule was being updated in apt logs

Starting bootloader post-install procedure.
INFO. Copy capsule payload: TEGRA_BL.Cap.
INFO. Copy capsule payload to /opt/nvidia/esp/EFI/UpdateCapsule/ and l4tlauncher to /opt/nvidia/esp/EFI/BOOT/ done.
INFO. Set capsule UEFI variable /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c done.

however the issue is NOT fixed and firmware is still dated 2023-02-17. Are you certain that the debs have the latest bootloader with the debug carveouts removed? or can the QSPI not get flashed through an OTA on the orin?

Hi,
Are you able to re-flash the system through SDKManager? This method should work well. We would suggest do complete re-flash to replace factory image with production image.

@DaneLLL yes I was able to flash using SDKManager and am now on the latest 2023-03-19. However there are issues as I detailed here and I would like to go back for verfication Significantly LOWER performance when using exclusive fullscreen - #5 by theofficialgman

Hello @DaneLLL

I just got my Orin Nano from Arrow today and I used the SD Card boot approach using the sd-blob.img that I downloaded from the official link:

https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/sd_card_b49/jp511-orin-nano-sd-card-image.zip/

This image booted OK and everything worked fine, except when I invoked “free”, I only got only 6481 MB. Do I need to set up a Host Ubuntu PC and reflash this SD card via SDK Manager too? Or can I wait until the Nvidia folks fix the official “sd-blob.img” for ALL USERS?

Thank you.

After I did it, the available memory is increased to 7.3GB, but there are still 855MB memory missing (Jetson Orin Nano should have 8GB memory in total). Did you know why ? How can I resolve this problem and get all 8GB memory for my application ? Thanks.

Hi,
For further development, we would suggest have a Ubuntu host PC. The Orin Nano production module doesn’t have SD card slot and it is necessary to have a host PC. If you use the module with SD slot, you can customize the SD card image with a host PC.

We will check why the image shows less freespace. If your use-case requires 7.3GB, please update the system through SDKManager.

Certain memory is for internal usage so it is expected there is 7.3GB free space.

Thanks DaneLLL.
For 7.3GB free space, is there any way I can reduce internal usage and free more memory? For example: I’m not sure if Nano reserves some memory usage for camera ? but in my application, I don’t care about camera at all.

Hi fuzhongkai,

We use the same SD image on Jetson Orin Nano, update our result for you reference.

$ sudo tegrastats 
05-02-2023 14:48:07 RAM 1362/7337MB (lfb 1046x4MB) SWAP 0/3668MB (cached 0MB) CPU [0%@729,0%@729,0%@729,0%@729,0%@729,0%@729] EMC_FREQ 2%@665 GR3D_FREQ 0%@305 GR3D2_FREQ 0%@0 VIC_FREQ 115 APE 200 CV0@-256C CPU@42.968C SOC2@42.5C SOC0@40.312C CV1@-256C GPU@43.156C tj@43.156C SOC1@41.718C CV2@-256C VDD_IN 3663mW/3663mW VDD_CPU_GPU_CV 483mW/483mW VDD_SOC 1127mW/1127mW
05-02-2023 14:48:08 RAM 1362/7337MB (lfb 1046x4MB) SWAP 0/3668MB (cached 0MB) CPU [13%@1510,0%@1510,2%@1510,0%@1510,0%@729,0%@729] EMC_FREQ 2%@665 GR3D_FREQ 0%@305 GR3D2_FREQ 0%@0 VIC_FREQ 115 APE 200 CV0@-256C CPU@42.812C SOC2@42.375C SOC0@40.312C CV1@-256C GPU@42.968C tj@42.968C SOC1@41.718C CV2@-256C VDD_IN 3703mW/3683mW VDD_CPU_GPU_CV 522mW/502mW VDD_SOC 1127mW/1127mW

Thanks @carolyuu

I have the same memory size 7337MB as yours. I’m asking if I could get more memory for my application from Jetson Orin Nano reserved memory (8192MB - 7337MB = 855MB)

Hi,
The available freespace is optimal. For further improvement, it may harm system stability.

Thanks. I see. My application is only for text (language model), and I don’t need video encoder & decoder, and camera at all. Did these parts keep reserved memory? If so, can I customize the system and get these reserved memory back without harming system stability?

Hi,
Memory is allocated dynamically while the functions are running. There is no preserved memory for the functions.

I followed the instructions on the official Jetson Orin Nano setup guide and it resulted in 6481MB RAM per the above thread. @DaneLLL consider having the team update those docs to produce the result of 7337MB. No reason for folks to get less RAM if it’s just a small tweak to the process. And better to pre-empt when folks are flashing initially vs. later once folks have begun developing

Not sure for your case, but you may also see Swapoff optimization for zram (1GB ~10min) - #4 by Honey_Patouceul.

@Honey_Patouceul thanks for the suggestion. Unfortunately, nvzramconfig does not seem to be running. I’m looking into using the SDK manager to flash an updated image, though I am developing on a MBP and it unfortunately doesn’t seem like a very straightforward process:

Have a few raspberry pi’s laying around, maybe will try and use one of those

What gives ? :

lsblk 

Did you try Swapoff optimization for zram (1GB ~10min) - #2 by linuxdev ?

Thanks for trying to help.

$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0          7:0    0 149.9M  1 loop /snap/chromium/2466
loop1          7:1    0  59.1M  1 loop /snap/core20/1883
loop2          7:2    0  53.5M  1 loop /snap/cups/873
loop3          7:3    0     4K  1 loop /snap/bare/5
loop4          7:4    0   334M  1 loop /snap/gnome-3-38-2004/141
loop5          7:5    0  91.7M  1 loop /snap/gtk-common-themes/1535
loop6          7:6    0  46.4M  1 loop /snap/snapd/19127
loop7          7:7    0    16M  1 loop
mmcblk1      179:0    0    59G  0 disk
├─mmcblk1p1  179:1    0  53.8G  0 part /
├─mmcblk1p2  179:2    0   128M  0 part
├─mmcblk1p3  179:3    0   768K  0 part
├─mmcblk1p4  179:4    0  31.6M  0 part
├─mmcblk1p5  179:5    0   128M  0 part
├─mmcblk1p6  179:6    0   768K  0 part
├─mmcblk1p7  179:7    0  31.6M  0 part
├─mmcblk1p8  179:8    0    80M  0 part
├─mmcblk1p9  179:9    0   512K  0 part
├─mmcblk1p10 179:10   0    64M  0 part
├─mmcblk1p11 179:11   0    80M  0 part
├─mmcblk1p12 179:12   0   512K  0 part
├─mmcblk1p13 179:13   0    64M  0 part
└─mmcblk1p14 179:14   0 879.5M  0 part
zram0        251:0    0 540.1M  0 disk [SWAP]
zram1        251:1    0 540.1M  0 disk [SWAP]
zram2        251:2    0 540.1M  0 disk [SWAP]
zram3        251:3    0 540.1M  0 disk [SWAP]
zram4        251:4    0 540.1M  0 disk [SWAP]
zram5        251:5    0 540.1M  0 disk [SWAP]

I tried stopping swap.target, but it had no effect (tegrastats still gives 6481MB RAM)

I also tried the suggestion here to run the SDK manager docker image via virtualbox to access USB, but ran into blocking issues there as well:

I looked into dual-booting linux on my mac as suggested in the thread, but that seems like actually a fairly involved process (I have a T2 2020 MBP):

I don’t think my raspis will work as they only have 4GB RAM and the SDK manager needs 8GB

So I think my options are 1) slog through the dual-boot stuff 2) buy a linux box w/ 8GB+ RAM 3) accept the ~1GB RAM loss

I’ll prob end up going with 3 but wish this process weren’t so painful. Open to suggestions

SDKM is to be run on a native (non VM) Ubuntu host PC.

Also note that loosing 1GB RAM for getting more than 3GB fast swap into zram may be good as long as you’re not running short in real RAM, as far as I understand.

Makes sense, thanks for the help. Will consider options for an ubuntu machine. Yes, I want all the RAM I can get to push this thing to its limit :)

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.