AIX 内存消耗

who*_*one 4 memory aix

问题:我们如何在 AIX 6 上使用nmonvmstatsvmon报告实际内存使用情况(没有缓存!)?

纳米:
在此处输入图片说明

虚拟机状态:
在此处输入图片说明

支持:
在此处输入图片说明

就像在 Linux 上一样,我们可以使用 free 命令,但它在 AIX 中不可用:

[user@notebook ~]$ free -m
         total       used       free     shared    buffers     cached
Mem:          7797       4344       3453          0        219       2745
-/+ buffers/cache:       1379       6417
Swap:         2047          0       2047
[user@notebook ~]$ free -m | grep cache: | awk '{print $3}'
1379
[user@notebook ~]$ 
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 5

简短版本:如果您想了解所有文件缓存,请查看输出中的 in use clnt+ perspages svmon -G(单位为 4k 页),或者查看vmstat -v并查看文件缓存的“文件页面”,不包括可执行文件(相同单位)。


如果您想很好地了解正在发生的事情,您应该查看以下文章:AIX 页面替换概述

简而言之,AIX 中的内存分为两种方式:

  • 工作记忆与永久记忆

    • 工作内存是进程(堆栈、堆、共享内存)和内核内存。如果这种内存需要被页出,它就会进行交换。

    • 永久内存是文件缓存。如果需要调出,它会返回到它来自的文件系统(对于脏页面,干净的页面会被回收)。这被细分为 JFS 文件系统的非客户端(或持久)页面,以及 JFS2、NFS 和其他可能的客户端页面。

  • 计算与非计算页面。

    • 计算页面又是进程和内核数据,加上进程文本数据(即缓存可执行文件/代码的页面)。

    • 非计算性是其他的:不可执行的文件缓存(或共享库)。

svmon -G(顺便说一句,svmon -G -O unit=MB有点友好)为您提供工作与永久页面。该work列是工作记忆。您可以通过将pers(JFS) 和clnt(JFS2) 列相加来获得永久内存。

In your case, you've got about 730MB of permanent pages, that are backed by your filesystems (186151*4k pages).

Now the topas top-right "widget" FileSystemCache (numperm) shows something slightly different, and you'd get that same data with vmstat -v: that's only non-computational permanent pages. i.e. same thing as above, but excluding pages for executables.

In your case, that's about 350MB (2.2% of 16G).

Either way, that's really not much cache.