x86_64 (amd64) 上的 /proc/$pid/statm 应用程序报告的映射页面是 arm64 (aarch64) 上相同应用程序的 4 倍

问题描述 投票:0回答:1

我们有一个带有共享库的 C++ 多线程应用程序,运行在 linux x86_64(debian-12,内核 6.1.xx)和树莓派 5(arm64,debian-12,内核 6.3.xx)上。如果我锁定在 /proc/$pid/statm。

/proc/$pid/statm 报告的 RPI5 上 x86_64 上的页数是 arm64 上的页数的 4 倍。 gcc-release 生成命令行与 -mtune 选项除外。应用程序在两种架构上创建相同数量的具有相同堆栈大小的线程。

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

我预计 64 位应用程序将在两种架构上消耗类似的内存。

memory memory-management heap-memory m
1个回答
0
投票

我撤回问题!

我发现我的错误了!我假设树莓派 5 的页面大小与树莓派 4 相同,均为 4kB,就像 x86_64 一样。树莓派 5 使用 16k 页大小的内核 MMU 配置。

© www.soinside.com 2019 - 2024. All rights reserved.