Memory leak caused by smartsync

book

Article ID: 100022848

calendar_today

Updated On:

Resolution


There is a memory leak causing the amount of pinned memory allocated via vx_fsvm_strategy()/vol_alloc() to keep increasing indefinately until the machine runs out of available memory and must be rebooted. This leak is due to the VVR code not cleaning up memory reserved for IO hint information after the associated IO is completed. Raw Volume Manager does clean up OK as such its only when using IO hints (in this case smartsync via ODM) and VVR that the leak is hit.


Workaround / Solution:

1. Disable smartsync and run ODM in 'nosmartsync' mode. To do this:

Stop Oracle instances
Unmount ODM device (umount /dev/odm)
Remount ODM device with 'nosmartsync' (mount -V vxodm -o nosmartsync /dev/odm /dev/odm)
Restart Oracle instances

Note that this will not clean up memory whch has already leaked (this will only happen on a reboot) but will prevent further leaks. Note also that the above may need to be made permanent by making changes to /etc/rc.d/rc2.d/S99odm.

2. Install VxVM 5.0MP3RP2HF7 which contains a fix for this issue as per the README:

PATCH ID : 5.0.3.207 (AxRT 5.0 MP3 RP2 HF7)
Branch : ga_5_0aix_mp3rp2_maint
Snapshot Name : s_5_0MP3RP2HF7_aix_2009_12_03
Snapshot Date and Time : 2009-12-03 22:14:13

Incidents included in this patch:
=================================
1899688 [VVR]Every I/O on smartsync enabled volume under VVR leaks memory

Note that the above fix will NOT be in 5.0MP3RP3 due to the RP3 code already being frozen when this was discovered. As such this will likely be included in RP3HF1/RP4.
 

 

Issue/Introduction

Memory leak caused by smartsync