我们能否找出当前驻留在内存中的软件组件。

我们能否找出当前驻留在内存中的软件组件。

我们能否找出当前驻留在内存中的软件组件?如果可以,如何操作?有没有什么命令可以找到软件组件?

答案1

您的问题似乎假设您的应用程序完全在内存中,或者不在内存中。但事实并非如此。应用程序加载了不同类型的数据,并且所有数据都略有不同:

  1. 应用程序的二进制文件
  2. 应用程序所需的共享库
  3. 您的应用程序为数据分配的空间
  4. 您的应用程序分配的内存映射文件

尽管如此,在任何时候,Linux 内核都会自行决定哪些内容实际在内存中,哪些不在。将数据加载到内存中通常以 4096 字节的页面为单位,因此即使上述 1 到 4 项中的每一项也可能只有部分在内存中。

进程内存中的总大小称为驻留集大小,通常称为 RSS。当您运行htoptop或时,它是包含所需信息的psRES或。RSS

然而,我必须承认,我不确定共享库是否被算入其中,或者它们是否在SHR(共享)列中分离出来。

相关内容