Environment:
Oracle 11gr2 + dataguard
128 GB memory +-core cpu + high-performance storage server
Uname-
Linux dbhost 2.6.18-238. el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
Symptoms:
During rman backup, the system memory drops sharply until the system loses response and goes down.
Cause:
Linux default parameter vm. min_free_kbytes 64 mb,
/Proc/sys/vm/min_free_kbytes
This file indicates the minimum number of idle memory (Kbytes) reserved by the Linux VM ).
When the available memory is lower than this parameter, the system starts to recycle the cache memory to release the memory until the available memory is greater than this value.
/Proc/sys/vm/vfs_cache_pressure
This file indicates that the kernel recycles the preference for directory and inode cache memory. The default value 100 indicates that the kernel will keep directory and inode cache in a reasonable percentage based on pagecache and swapcache; reducing this value below 100 will lead to kernel preference to keep directory and inode cache; increasing this value over 100 will lead to kernel preference to reclaim directory and inode cache.
Because rman is backed up to the local storage and occupies a large amount of memory for cache, when the memory is insufficient, the system starts to recycle the cache memory and write data to the disk synchronously. Writing data to a disk is much slower than writing data to the memory by rman. rman continues to apply to occupy the cache, but the system cannot recycle the available memory in time. In the end, the available memory is 0, causing the system to lose response.
Solution:
Modify the parameter: increase the minimum reserved memory to 50 gb, and change vfs_cache_pressure to 200.
VMS. min_free_kbytes = 52428800
Vm. vfs_cache_pressure = 200
According to the test, when rman backup is performed, the available memory is reduced to around 50 gb (minimum 45 gb), and the system runs normally.