【发布时间】:2022-08-18 22:37:38
【问题描述】:
我开始想知道 ELF 中的哪些部分被计入程序的 RSS 中?如果我有很多静态字符串(.rodata)。是否在 RSS 中?和.text?是在 RSS 中吗?
-
对我来说,RSS 是一种联合更新的方法。你在这里用它来表示什么?
-
@BarryCarter:大概是
Resident Set Size。
我开始想知道 ELF 中的哪些部分被计入程序的 RSS 中?如果我有很多静态字符串(.rodata)。是否在 RSS 中?和.text?是在 RSS 中吗?
Resident Set Size。
这些部分都不计入RSS。 RSS 由实际使用的物理 RAM 决定。 .rodata 和 .text 都可以换出,从 RAM 中删除,从而从 RSS 中删除。
另一方面,如果有足够的 RAM,并且您的程序以一种运行其所有代码和所有数据的方式运行,那么您的整个 .rodata 和 .text 理论上可能会在 RSS 中结束。
“您的程序以一种可以使用其所有代码的方式运行”限制是因为您的程序很可能包含 --version 命令行选项。这可能不会导致您的整个 .text 被加载到 RAM 中。但同时,如果你别通过--version,那么负责该输出的一小部分代码将不会运行。
【讨论】: