相关疑难解决方法(0)

一种确定进程"真实"内存使用情况的方法,即私有脏RSS?

像'ps'和'top'这样的工具会报告各种内存使用情况,例如VM大小和Resident Set Size.但是,这些都不是"真正的"内存使用情况:

  • 程序代码在同一程序的多个实例之间共享.
  • 共享库程序代码在使用该库的所有进程之间共享.
  • 一些应用程序分离进程并与它们共享内存(例如,通过共享内存段).
  • 虚拟内存系统使VM大小报告几乎无用.
  • 当一个进程被换出时,RSS为0,这使得它不是很有用.
  • 等等

我发现Linux报告的私有脏RSS是最接近"真实"内存使用的东西.这可以通过对所有Private_Dirty值求和来获得/proc/somepid/smaps.

但是,其他操作系统是否提供类似功能?如果没有,有哪些替代方案?特别是,我对FreeBSD和OS X感兴趣.

linux memory macos memory-management freebsd

49
推荐指数
6
解决办法
6万
查看次数

标签 统计

freebsd ×1

linux ×1

macos ×1

memory ×1

memory-management ×1