High Memory Allocations of type KGNFS in Shared Pool
(Doc ID 1309337.1)
Last updated on AUGUST 04, 2018
Applies to:Oracle Server - Enterprise Edition - Version: 18.104.22.168 to 22.214.171.124 - Release: 11.1 to 11.2
Information in this document applies to any platform.
"kgnfs rserver", "kgnfs local" and "kgnfs path".
If these allocations grow large enough they may cause ORA-04031 error.
- ORA-04031: unable to allocate 592 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","kgnfs local")
- ORA-00600: internal error code, arguments: [kmgs_parameter_update_timeout_1], , , , , , , , , , , 
- ORA-04031: unable to allocate 1456 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","kgnfs rserver")
The incident trace file shows the following failing statement:
----- Current SQL Statement for this session (sql_id=dnk8dw55sjz3h) -----
SELECT value FROM v$spparameter WHERE name = 'log_archive_min_succeed_dest' AND sid='*'
The ORA-4031 trace file shows high values for kgnfs memory allocations:
Memory Utilization of Subpool 1
Allocation Name Size
"sql area " 139312592
"kgnfs rserver " 373405552
"kgnfs local " -1945451456 <== (A negative value like this is due to an internal overflow error and indicates value over 2G)
- For each "kgnfs rserver" entry also entries of type "kgnfs path" and "kgnfs local" are allocated, so these go hand in hand.
- The call stack of the failure show we are opening the spfile:
Call stack: kghalp <- kgnfsallocmem <- kgnfs_create_rserver_ent <- kgnfsgetmnthdl <- kgodm_getnfscdata <- kgodm_identify <- odm_identify
<- ksfd_odmopn <- ksfdopn<- kspifisp <- ksp_spfile_open<- ksp_spfile_get <- kspspfftcb <- qerfxFetch <- opifch2
- The access of the spfile looks the result of accessing the v$parameter view.
- To monitor the size of sub pools related to kgnfs use the select statements:
select sum(bytes) from v$sgastat where name like '%nfs%';
select pool, name, bytes from v$sgastat where pool like '%shared%' and name like '%nfs%';
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document