We have a C++ multi-threaded application with shared libraries, running on linux x86_64 (debian-12, kernel 6.1.xx) and on a raspberry pi 5 ( arm64, debian-12, kernel 6.3.xx ). If I lock at /proc/$pid/statm.
/proc/$pid/statm reports 4 times the number of pages on x86_64 as on arm64 on the RPI5. The gcc- release generation command lines are identical with the exception of the -mtune option. The application creates the same number of threads with same stack-sizes on both architectures.
RPI5 arm64:
cat /proc/$(pgrep x4rtflex)/statm
150018 65643 7904 1 0 57587 0
Sum 1124.612061 MB
x85_64 ( core-i5-13500E )
cat /proc/$(pgrep x4rtflex)/statm
578665 245412 37759 1 0 207998 0
Sum 4279.340332 MB
I am exspecting that a 64-bit application will consume similar memory on both Architectures.
2