Oracle memory allocation on Linux 2.6
Date: Tue, 1 Apr 2008 07:37:48 -0700 (PDT)
With the latest Linux kernels, things have gotten hard to tune regarding the SGA/PGA we can allocate. I'm mainly talking about the physical memory that is allocated to the OS buffers/caches to make full use of the memory. With earlier kernels, we had vm.pagecache to control easily these amounts of memory. Now there is vm.swapiness with the unfathomable algorithm behind it (read: AFAIK we cannot really control the OS buffers/caches anymore.)
Moreover, SGA locking is not possible (or rather not advised by Oracle support) and it is really difficult to check how much physical memory our SGA is actually using. Even with vm.swapiness=0, huge amounts of OS buffers/caches get allocated with the obvious conclusion that "inactive" SGA blocks are paged out to disk, with at least two cons: this unwanted paging activity (even if it is limited) and the fact that calculating the "free" physical memory on our box we could allocate to the PGA/SGA (or other applications) without major paging is almost impossible.
Any advice in this regard from your experience with Linux 2.6 (and any Oracle version)?
Jerome Received on Tue Apr 01 2008 - 09:37:48 CDT