Operating System - HP-UX
1834903 Members
2971 Online
110071 Solutions
New Discussion

Re: dhcp and java memory leak

 
SOLVED
Go to solution
someone_4
Honored Contributor

dhcp and java memory leak

I have been playing around with glance .. And it apears that I have a memory leak with a dhcp and java application. Has anyone seen this what could be the cause or how would I go about trouble shooting this issue? how about a possible fix. There is also a leak for mib2agt but I have found a patch for that.

Thanks
Richard
4 REPLIES 4
harry d brown jr
Honored Contributor
Solution

Re: dhcp and java memory leak

With java, you can use the Jprobe Profiler, which is bundled with the JVM. The product is written by Sitraka. With dhcp, you'll probably need a patch.
Live Free or Die
James R. Ferguson
Acclaimed Contributor

Re: dhcp and java memory leak

Hi Richard:

Three things:

1. There has been a known problem with 'mib2agt' although that is now a fairly old issue. PHSS_24945 is the latest patch that addresses that problem.

2. As you may remember, the following snippet of code is very, very handy in finding potential memory problems:

# UNIX95= ps -e -o ruser,vsz,pid,args|sort -rnk2|more

You would want to look for processes that grow over time.

3. From your 'glance' output it looks like you have your 'dbc_max_pct' set very high. Using more than about 300MB for the buffer cache is usually wasteful, especially if you are running a database which does its own buffering.

By default, 'dbc_max_pct' is set to 50%. Bring it way down to reclaim some memory!

See this too:

http://docs.hp.com/hpux/onlinedocs/os/KCparam.DBCmaxPct.html

Regards!

...JRF...
someone_4
Honored Contributor

Re: dhcp and java memory leak

Hey James
How do I determine to bring 'dbc_max_pct' down?
what effects will that have?

Richard
James R. Ferguson
Acclaimed Contributor

Re: dhcp and java memory leak

Hi Richard:

'dbc_max_pct' and its companion kernel parameter 'dbc_min-pct' set the limits for "buffer cache" -- memory used for file buffers. On servers running database engines which do their own I/O buffering (like Oracle), setting up a large buffer cache actually causes *double* work because *two* buffer algorithms operate -- one for the database (SGA) and the other for the Unix buffer pool.

On the other hand, if you have a server where lots of files are opened and shared by many processes while they are open, then having file buffers in memory aids I/O performance.

Generally, far too much memory is set aside for the buffer cache. About 300MB is considered adequate as a rule-of-thumb.

You can see the actual values in the [m]emory window of 'glance'.

Read the link below for 'dbc_max_pct' and 'bufpages'. You will note that when 'bufpages' and 'nbuf' are set to zero, 'dbc_max_pct' and 'dbc_min_pct' set the maximum and minimum dynamic buffer size. It is also possible to set 'bufpages' and define a *fixed* buffer cache size.

http://docs.hp.com/hpux/onlinedocs/os/KCparam.DBCmaxPct.html

Regards!

...JRF...