1748054 Members
4769 Online
108758 Solutions
New Discussion юеВ

Increase lockable memory

 
SOLVED
Go to solution
Stephen Andreassend
Regular Advisor

Increase lockable memory

16GB RAM, 64bit HPUX 11 with 64Bit Oracle.

swapmem_on=1 means that only 12GB is lockable due to the 75% rule.

How can I increase the size of the lockable memory?
18 REPLIES 18
Sridhar Bhaskarla
Honored Contributor

Re: Increase lockable memory

Stephen,

The swap allocated with 'swapmem_on' parameter is affected by lockable memory but doesn't affect lockable memory.

The kernel parameter "unlockable_mem" determines how much memory can be locked by the processes. Look at the following document on more information on this parameter.

http://docs.hp.com/hpux/onlinedocs/TKP-90202/TKP-90202.html

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Stephen Andreassend
Regular Advisor

Re: Increase lockable memory

DESCRIPTION

In previous versions of HP-UX, system configuration required sufficient physical swap space for the maximum possible number of processes on the system. This is because HP-UX reserves swap space for a process when it is created, to ensure that a running process never needs to be killed due to insufficient swap.
This was difficult, however, for systems needing gigabytes of swap space with gigabytes of physical memory, and those with workloads where the entire load would always be in core. This tunable was created to allow system swap space to be less than core memory. To accomplish this, a portion of physical memory is set aside as 'pseudo-swap' space. While actual swap space is still available, processes still reserve all the swap they will need at fork or execute time from the physical device or file system swap. Once this swap is completely used, new processes do not reserve swap, and each page which would have been swapped to the physical device or file system is instead locked in memory and counted as part of the pseudo-swap space.

Who Is Expected to Change This Tunable?

Anyone.

Restrictions on Changing

Changes to this tunable take effect on the next reboot.

When Should the Tunable Be Turned On?

If this tunable is set to 0 (off), and a fork() or exec() process is failing with an ENOMEM error message and has sufficient system memory but insufficient unreserved swap space, then setting this tunable to 1 (on) will allow these processes to use pseudo-swap space and execute.

What Are the Side Effects of Turning the Tunable On?

Some physical memory is set aside for pseudo-swap, but since the kernel can steal pages from this allocation if needed (for locked memory or kernel memory), and the rest of the pages will only be used when physical swap is completely filled anyway, this is quite harmless.

When Should the Tunable Be Turned Off?

This tunable can be turned off if there are sufficient physical swap devices or file systems such that the system workload never fails to reserve swap. However, turning this feature off really does not gain the system anything.

What Are the Side Effects of Turning the Tunable Off?

Processes will be limited to physical swap devices or file systems for reserving their swap on a fork() or an exec().

What Other Tunables Should Be Changed at the Same Time?

None.
Sanjay_6
Honored Contributor

Re: Increase lockable memory

Hi Stephen,

Take a look at this link,

http://docs.hp.com/hpux/onlinedocs/939/KCParms/KCparam.UnlockableMem.html

Total Memory - Unlockable Memory = Lockable Memory

Hope this helps.

Regds
Stephen Andreassend
Regular Advisor

Re: Increase lockable memory

I have reduced the fs buffer cache (1% min/max) and reduced nproc, and it has helped
Sanjay_6
Honored Contributor

Re: Increase lockable memory

Hi,

Reducing nproc is not a very good idea unless it was set an abnormally high value.

http://docs.hp.com/hpux/onlinedocs/939/KCParms/KCparam.Nproc.html

Hope this helps.

regds
Sridhar Bhaskarla
Honored Contributor

Re: Increase lockable memory

Hi (Again),

Yes. The document pasted by you confirms what I said.

It's better we take an example. Let's consider some raw numbers and hypothetical scenarios to make it easy.

Consider 100MB system with 100MB of device swap with pseudoswap on. The total swap is 175MB initially. Say, there are processes that locked 80MB of memory. So, 75MB which was alloted from pseudoswap would be gone and you will be effectively left with 100MB-(reserved by other processes) of swap space. You can keep locking the memory further (< unlockable_mem) and it may cause unlocked processes to page out if the available memory is critically low.

However, case is different if you don't have enough device swap. Say you configured only 10MB of device swap. After 10MB worth of processes are brought up, system will start locking the processes in memory that further come up and eventually the system may run of swap space. Under that situation, you will not only be able to lock the memory but also will not be able to bring up more processes though you may see some free memory on the system.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Stephen Andreassend
Regular Advisor

Re: Increase lockable memory

unlockable_mem is defaulting to 65536, its not set (0) in SAM.

nproc is 1024, monitoring sar -v.

The server is running only Oracle, problem starts when applications are started and connect to the db over SQL*Net, swapinfo -tam races to 100% and Oracle instance aborts with an out of memory error. Oracle configured to use 12GB shared memory, so there should be plenty left over for oracle shadow processes.
Sridhar Bhaskarla
Honored Contributor
Solution

Re: Increase lockable memory

Stephen,

It's not the memory but the 'total swap' the decides whether you can bring up more processes are not. If 'Total Available' in 'swapinfo -t' is less than 16GB, then though there is free memory, you will not be able to bring up more processes. You will have to add extra swap.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Stephen Andreassend
Regular Advisor

Re: Increase lockable memory


# swapinfo -t
Kb Kb Kb PCT START/ Kb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 4194304 0 4194304 0% 0 - 1 /dev/vg00/lvol2
reserve - 4194304 -4194304
memory 13632956 12730424 902532 93%
total 17827260 16924728 902532 95% - 0 -

# swaminfo -tam
Mb Mb Mb PCT START/ Mb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 4096 0 4096 0% 0 - 1 /dev/vg00/lvol2
reserve - 4096 -4096
memory 13313 12373 940 93%
total 17409 16469 940 95% - 0 -