查看 meminfo:
# cat /proc/meminfo
=====
Active(anon): 17211820 kB ≈ 16.4 GB
Inactive(anon): 3032856 kB ≈ 2.9 GB
从上面来看主要是私有内存使用的比较多。之所以关注私有内存的使用,是因为从数据库角度来看 PGA 会使用私有内存。
PGA + 进程私有 ≈ 19GB
=====
HugePages_Total: 18400
HugePages_Free: 2336
HugePages_Rsvd: 2305
Hugepagesize: 2048 kB
从上面来看,36GB HugePages,SGA ≈ 36GB查看 AWR:
AWR Report:
=====
Host Mem (MB): 64,263.8 64,263.8
SGA use (MB): 32,128.0 32,128.0
PGA use (MB): 3,346.9 3,380.8
% Host Mem used for SGA+PGA: 55.20 55.25
=====从操作系统层面来看,SGA(36G)+PGA(19G)共用了 55G(% Host Mem used for SGA+PGA: 55.20 55.25),这与上面 /proc/meminfo 的信息是对应上了的,但是 AWR 报告显示 PGA 只使用了 3G 左右,PGA 使用量并不算多。
通过 top 命令查看内存使用量最高的几个进程:
# ps -eo pid,user,comm,rss,vsz --sort=-rss | head -20
PID USER COMMAND RSS VSZ
1853 root ohasd.bin 5796636 9822564
11226 xgrid asm_ppa7_+asm2 3415956 4890332
7400 xgrid oraagent.bin 1766692 4821992
2305 root java 692848 6976868
8210 xgrid java 498092 5143048
6221 xgrid java 422784 7361760
15199 xgrid java 362600 5517792
3761 xgrid ocssd.bin 277776 3082752
3699 root cssdmonitor 233532 1247880
3737 root cssdagent 233460 1251260
2334 root orarootagent.bi 227528 2414532
3701 root osysmond.bin 214108 1660372
5626 root crsd.bin 184184 3764452
15886 xoracle ora_m003_sundb2 182340 39547704
8463 xoracle ora_m004_sundb2 159552 39514940
12301 xoracle ora_mmnl_sundb2 158408 39547980
9422 root java 147912 2694044
15081 xgrid java 141816 4989052
24544 xoracle ora_m000_sundb2 123004 39466992Oracle SR 的回复(Mar 24, 2026 6:27 PM):
从您提供的资料可以看出,ohasd.bin 消耗了约 5.48 GB,asm_ppa7_+asm2 消耗了 3.23 GB。
PID USER COMMAND RSS VSZ
1853 root ohasd.bin 5746132 9691492
11226 xgrid asm_ppa7_+asm2 3386068 4867804
根据类似事例,Bug 32932416 会导致 ohasd.bin 的私有内存泄露的问题。
(KI32319)Bug 32932416 - High Memory Usage of ohasd.bin Reboot
* 很遗憾目前没有补丁。
asm_ppa7_+asm2 可能与 ASM 实例上执行的 GV$ 视图查询有关。
因此,建议您考虑:
1. 升级 RU 版本到 19.28 ,以便我们帮您申请 32932416 的补丁;
2. 减少 GV$ 视图查询的查询操作;
3. 如果您暂时不能升级 RU 版本,建议您考虑定期重启 OS 。