ORA-600 [KGHLKREM1] problems caused by drop_cache in the configuration of Linux large page memory
The ORA-600 [KGHLKREM1] problem caused by drop_cache in the configuration using Linux big page memory
Source:
ORA-600 [KGHLKREM1] On Linux Using Parameter drop_cache On hugepages Configuration (Document ID 1070812.1)
Applicable:
Oracle Database-Enterprise Edition-Version 10.2.0.1 and later
Generic Linux
* ** Checked for relevance on 29-Jul-2013 ***
Symptoms:
You are running an Oracle database, single-instance database or rac. You use sga based on large page memory
You encountered the following problems:
ORA-00600: internal error code, arguments: [KGHLKREM1], [0x06BC00020]with stack trace similar to: kghnerror kghadd_reserved_ext kghgex-- or alsoORA-07445: exception encountered: core dump[kglhdal()+1105][SIGSEGV] [Address not mapped to object] [0x000000008] [] []ORA-07445: exception encountered: core dump [kghfnd()+2328] [SIGSEGV][Address not mapped to object] [0xFFFFFFFFFFFFFFF0] [] []
Execute the SGA heap dump command on the infringing address (0x6bc00020 in the preceding example) and clear the IP address (zeroed out)
asm1_lmd0_8600.trc~~~~~~~~~~~~~~~~~~*** 2010-02-08 15:57:38.274***** Internal heap ERROR KGHLKREM1 addr=0x6c400020 ds=0x60000058 ********** Dump of memory around addr 0x6c400020:06C3FF020 00000000 00000000 00000000 00000000 [................]Repeat 511 times
Changes:
1.
In your system, you are running vm. drop_caches = 1 (or 3), and drop_cache is set to a non-zero value, or you are executing:
echo 3 > /proc/sys/vm/drop_caches
The following explanation about drop_caches is not translated. The original Article is as follows:
/proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this file causes the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.To free pagecache:* echo 1 > /proc/sys/vm/drop_cachesTo free dentries and inodes:* echo 2 > /proc/sys/vm/drop_cachesTo free pagecache, dentries and inodes:* echo 3 > /proc/sys/vm/drop_cachesAs this is a non-destructive operation, and dirty objects are not freeable, the user should run "sync" first in order to make sure all cached objects are freed.
2.
The large page memory of Linux is used.
Cause:
This is a problem with the Linux kernel.
Memory Corruption occurs when the drop_cache parameter of the Linux kernel and the large page memory are used.
Per internal Bug 9461825, executing vm. drop_caches extends upts Oracle Database SGA hugepages.
This is fixed in Linux Kernel version 2.6.18-194.0.0.0.4.EL5
Solution:
1. As a workaround when hugepages are set avoid any vm.drop_cache settings.- OR -2. Upgrade to Linux Kernel version 2.6.18-194.0.0.0.4.EL5
Refer:
BUG: 9358381-asm instance is crashing as ORA-600 [KGHLKREM1] WHEN HUGEPAGES ARE IN USE