Showing results for 
Search instead for 
Did you mean: 

locakble memory in dmesg


locakble memory in dmesg


rx6600 with 256 gb memory, running Oracle and want to use as much as possible for SGA.
So far I can only use 200 gb for SGA, and when running dmesg it says:

Memory Information:
physical page size = 4096 bytes, logical page size = 4096 bytes
Physical: 268404004 Kbytes, lockable: 204443204 Kbytes, available: 232680536 Kbytes

Is the "locakble" value the reason I can't use more than 200 Gb for SGA, and if so is there a way to "change" this ?
Steven E. Protter
Exalted Contributor

Re: locakble memory in dmesg


No lockable is not the reason you can't make the SGA big enough.

More likely it has to do with use of memory for other things.

Check the kernel parameter dbc_max_pct.

By default it takes 50% of memory for a buffer cache. This has been known on 11.23 to improve Oracle performance, however it might be more efficient to reduce this figure and free up resources for the SGA.

Note this parameter has been renamed on HP-UX 11.31 and you are not indicating the OS, which matters in providing you an accurate answer.

Steven E Protter
Owner of ISN Corporation

Re: locakble memory in dmesg

Sorry, I forgot.

It is running on HP-UX 11.31.
Michael Steele_2
Honored Contributor

Re: locakble memory in dmesg


unlockable memory is RAM that is typically used by the kernel. operations that remain on the active queue and in memory are not released from unlockable memory

Lockable Memory
Pages kept in memory for the lifetime of a process by means of a system
call (such as mlock, plock, or shmctl) are termed lockable memory.
Locked memory cannot be paged and processes with locked memory
cannot be deactivated. Typically, locked memory holds frequently
accessed programs or data structures, such as critical sections of
application code. Keeping them memory-resident improves application

Support Fatherhood - Stop Family Law
Venkatesh BL
Honored Contributor

Re: locakble memory in dmesg

Can you post the value of:

# kctune -v filecache_min
# kctune -v fs_meta_min

and also the memory utilization output from 'glance'?

Re: locakble memory in dmesg

hostname:/root #kctune -v filecache_min
Tunable filecache_min
Description Minimum guaranteed physical memory used for caching file I/O data
Module fs_bufcache
Current Value 13073776640 [Default]
Value at Next Boot Default (automatic)
Value at Last Boot 13073776640
Default Value 13073776640 (automatic)
Can Change Automatic Tuning Enabled

hostname:/root #kctune -v fs_meta_min
Tunable fs_meta_min
Description Minimum guaranteed kernel memory used for metadata in the file cache
Module fs_bufcache
Current Value 2614755328 [Default]
Value at Next Boot Default (automatic)
Value at Last Boot 2614755328
Default Value 2614755328 (automatic)
Can Change Automatic Tuning Enabled

Mem util from Glance:
All Current, Avg. and High are 95%.
Don Morris_1
Honored Contributor

Re: locakble memory in dmesg

It could be -- _if and only if_ the SGA is created and then mlock'd and if the mlock fails, the SGA creation aborts (or Oracle backs off to a smaller size, etc.).

You could get more lockable by increasing the amount of available [reducing filecache_min from the default 5% to say 2% would give you another 6 or 7 Gb]. That's about all you could do. The system will not allow all free memory to be locked (since that would invite a free memory zero hang as soon as you need another page) and it is not adjustable in how much of free memory is considered lockable (aka the safety margin) in v3.