在Aix平台,使用nmon和topas监控内存,发现有差异。
使用svmon提取使用内存和以上的两个都不一样。
请问这些差异是如何造成的?
另外除了这三种方法,还有其他方法提取内存使用情况吗?
topas 输出的内存分为:计算内存、非计算内存等。
svmon 是查看VMM的工具,对虚拟内存的每一项会有一个清晰的列表。
nmon 输出是真实内存、虚拟内存以及占用比之类的数据。
所以不知道你是如何比较的,用哪项参数来比较的。
收起AIX中的内存使用机制是当程序运行时将数据写入到内存中,当程序终止时内存不会将这些数据马上删除,而是将这些数据存入到非计算内存中,如果这个机器内存使用率不达到一定的限值,这个非计算内存是不释放的,所以你的非计算内存会持续增加,而查看内存使用率经常使用的是nmon和vmstat,vmstat里面的free参数代表的是空闲的内存页,内存页为4096K,将其乘以4就是空余内存的数量,这个数量与nmon中看到的内存空闲量应该是大致相同的,通过这个的使用来确定内存到底使用了多少。当这个内存页free数量少于一定的值时,才会释放非计算内存。
收起