Operating System - HP-UX
1838273 Members
3190 Online
110125 Solutions
New Discussion

Re: unlockable memory question

 
joe clark
Advisor

unlockable memory question

I have an N4000 with 4 gig of physical memory, and the kernel configuration is set with
unlockable memory=4000, dmesg info ------
Memory Information:
physical page size = 4096 bytes, logical page size = 4096 bytes
Physical: 4194304 Kbytes, lockable: 3626364 Kbytes, available: 3698996 Kbytes
The issue is a lot of oracle apps seem to be contending for memory which glance is showing at a constant 97%, what I am thinking prior to ordering more memory(4-8 gig more) is setting locakable memory to 0.
Thanks,
Joe Clark




6 REPLIES 6
Vladislav Demidov
Honored Contributor

Re: unlockable memory question

Hello Joe,
You can not set lockable memory to 0 because kernel resides lockable memory moreover any process can lock memory using plock() system call
Christopher McCray_1
Honored Contributor

Re: unlockable memory question

I could not find lockable memory in the kernel params list, so I assume you are talking about unlockable_mem, which on my system is set to 0. Now, if you apply the tuned parameter set for an oracle db server, it suggests avalue of 2000 (I think), but you always finding yourself adjusting things according to your needs. The value 0 works well for me.

Hope this helps
Chris
It wasn't me!!!!
Vladislav Demidov
Honored Contributor

Re: unlockable memory question

Actually you can set minimun unlockable memory using unlockable_mem kernel parameter.
Sanjay_6
Honored Contributor

Re: unlockable memory question

joe clark
Advisor

Re: unlockable memory question

Sorry the kernel parameter I was talking about
was unlockable_mem. I guess 2 options that are available related to freeing up more system memory, 1) change unlockable_mem to 2000 as mentioned earlier and monitor situation, 2) change unlockable_mem to 0, and let the system determine how much it will need to use for virtual memory. Both options should free up more memory for the oracle apps. Glance listing below shows what is available when
hardly any activity on system.

Total VM : 827.6mb Sys Mem : 213.6mb User Mem: 2.68gb Phys Mem: 4.00gb
Active VM: 364.4mb Buf Cache: 409.6mb Free Mem: 733.1mb
Thanks again,
Joe

Bill Hassell
Honored Contributor

Re: unlockable memory question

It's important to realize that a virtual memory system like HP-UX manages memory very dynamically and that 100% memory usage is just fine. What you should monitor is PAGE OUT in Glance (or vmstat). If these numbers are zero to about 20 to 50, then you have plenty of memory. Some of your processes are interactive and the 'think' time might be minutes to hours, which makes these processes good candidates to be paged out (swapped) until needed at a later time.

If you aren't having any performance issues, I would not pay much attention to memory usage, just watch PAGE OUT. If you are having peformance problems with Oracle, the biggest contributions will be found by enumerating all the SQL routines, see which ones are used the most and rank them by cost (pirmarily disk I/O). This will require EXPLAIN PLAN and the DBA to look over. The goal is to find SQL routines that perfomr serial or full table searches rather than indexed or partial searches.

Additionally, indexes will have to be rebuilt as a large number of insertions are performed as these may create a lopsided index tree and Oracle will silently ignore the index and search serially.

Finally, SGA can be resized to provide the biggest boost in performance. Make sure that the use of temp files for sorts is minimized by providing a large share and temp pool. SGA may need to be about 1500 megs for good performance and in that case, RAM should be at least 4Gb with 6-8Gb better for growth. Idelaly, Oracle should run as 64bits so that SGA and local program memory is unconstrained by 32bit limits.

Rather than trying to adjust HP-UX for inefficient application code, it is far more productive to adjust the application.


Bill Hassell, sysadmin