RSS项目的总数远远大于物理内存+ solaris中的交换

活动进程的所有rss值(状态是S还是O )的总数是否总是比总物理内存+交换大?

通过物理记忆,我指的是prtdiag | grep Memory的结果 prtdiag | grep Memory

而swap的大小,我指的是swap -l的结果。

容易。

在进程之间共享的物理内存mmap() IPCS共享内存或共享对象使用的某些mmap()物理内存mmap()将计入每个将该内存映射到其地址空间的进程的RSS中。 当计数内存使用的起始点是枚举进程时,没有简单的方法来解决这个问题 – 您必须为每个进程的所有虚拟页执行虚拟到物理映射,然后消除重复,同时希望内存映射审查没有改变,而总计正在计算。

一个很好的例子就是具有大型SGA的Oracle数据库服务器 – 它使用IPCS共享内存在Solaris上实现。 如果20个进程映射一个32 GB的共享内存SGA,那么即使只使用了32 GB的RAM,也会为进程的RSS总和贡献640 GB。