我有一台主机,其 AIX 6.1 (6100-04-02-1007) 是从 AIX 5.1 升级到 Veritas Storage Foundation 5.1 的。
自从从 AIX 5.3 升级到 6.1 以来,运行 vx services 意味着消耗大量内存,我无法解释。该内存在“nmon”中显示为“系统”(参见下面的“系统 41.2%”)。如果我不启动 Veritas,则该值 <20%。
“系统”内存是什么意思?我怎样才能知道是什么消耗了这些内存?
Memory ───────────────────────────────────────────────────────────────────────
Physical PageSpace | pages/sec In Out | FileSystemCache
% Used 93.9% 10.7% | to Paging Space 0.0 0.0 | (numperm) 3.4%
% Free 6.1% 89.3% | to File System 6.0 0.0 | Process 49.3%
MB Used 7695.0MB 871.5MB | Page Scans 20430.7 | System 41.2%
MB Free 497.0MB 7304.5MB | Page Cycles 1.5 | Free 6.1%
Total(MB) 8192.0MB 8176.0MB | Page Steals 0.0 | ------
| Page Faults 10066.8 | Total 100.0%
------------------------------------------------------------ | numclient 3.4%
Min/Maxperm 237MB( 3%) 7105MB( 87%) <--% of RAM | maxclient 86.7%
Min/Maxfree 960 1088 Total Virtual 16.0GB | User 49.7%
Min/Maxpgahead 2 8 Accessed Virtual 7.5GB 47.2%| Pinned 41.3%
答案1
任何类似的东西都应该在手册页
尤其:
Numperm Number of frames used for files (in 4 KB pages).
Process Percentage of real memory used by process segments.
System Percentage of real memory used by system segments.
Free Percentage of real memory that is free.
答案2
您可以在此处找到有关 AIX 内存段的一些信息:http://www-01.ibm.com/support/docview.wss?uid=swg1IY99425。
至于不同子系统对内存的使用我可以推荐这篇文章:https://www.ibm.com/developerworks/wikis/display/WikiPtype/AIXmemuse
答案3
我非常确定 Veritas 模块正在使用此内存,但是:我如何检查?是否可以?
找出哪些进程正在使用内存的传统方法是使用命令ps
。
ps -e -o user,pid,shmpgsz,spgsz,tpgsz,vmsize,vsz,args
答案4
您在系统下列出的数字用于文件系统缓存值,您可以根据需要调整这些值以减少分配用于缓存文件系统的内存量。
您需要关注这些参数,慢慢减少分配,直到达到适合您情况的水平:
lru_file_repage=0
minperm% = 5
maxclient% = 55
maxperm% = 60
更好的方法是进入 veritas 建议的设置,因为如果您的存储管理器已经处理缓存,操作系统可能会被告知根本不缓存(或很少),这样您就可以让存储软件完成它的工作,操作系统焦点在运行存在于 verities 环境之外的工作负载时。