Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Bufpages kernel configuration 1

Status
Not open for further replies.

Johnathon

Programmer
Jul 29, 2006
23
US
Hi,
If the bufpages is 0 (view by SAM), does it means that the current bufpages is set to DEFAULT?
And is it true default =10% of physical?
What's the command to issue to check for various memory setting in HP-UX?

Anybody please...

Thank you and Best Regards,
Johnathon
 
Hi Johnaton,
If bufpages is set to 0 it means the dynamic buffer cache allocation is enabled. Zero is the default setting for this parameter.
If bufpages is zero at system boot time, the system allocates two pages for every buffer header defined by nbuf.
If bufpages and nbuf are both zero, the system enables dynamic buffer cache allocation and allocates a percentage of available memory not less than dbc_min_pct nor more than dbc_max_pct , depending on system needs at any given time.
The default for dbc_min_pct is 5, which means 5% of memory.
Hope this helps,

mewa

 
Hi Mewa,
Thank you. I've a better picture now.
I've a system with 1GB of ram. I'm trying get (free) more memory out of the current setting.
Our system is now carry the following setting:
bufpages = 0
nbuf = 0
dbc_min_pct = 5
dbc_max_pct = 50
i do not see the whole 1 GB of memory, as 250+ MB is used else where , which i believe is taken out by bufpages and some other setting. What is dbc setting? What's your suggestion ? i need to get back ~100MB of ram space , if possible.

Thank you,
Johnathon.
 
dbc as mentioned above is the dynamic buffer cache. dbc_max_pct is the percentage of physical memory (1 gig ) that the dynamic buffer cahce can "use". So if you need to save 100 meg of memory, I would start by rolling back the dbc_max_pct to 40. However, that is a 1 to 1 type of suggestion. Depending on you application(s), adjusting this and many other kernel parms can have a large impact on your performance.

crowe
 
Thank you crowe.
I got the 100 Meg.
Observe that % memory used is getting bigger(slowly) , from day to day. Wonder if there's way for free them up, back to the time upon reset?

Best Regards,
Johnathon
 
If your memory usage is getting larger slowly from day to day, I wonder if there is a memory leak in the application(s). Do you stop the application(s) for a backup or anything? You might think about getting some baseline valuse to compare from.
After a reboot, check the shared memory segments, then when you application is running, check the shared memory segments again. See what the application created. Memory segments from the same application should have the same "KEY". If you then stop the application, you might see that one of the applications shared memory segments did not release. If this is the case, there is your memory leak.
It is just a thought. Oh, checking shared memory, ipcs -a.
Walk lightly if you deside to remove a shared memory segment. I've hosed up many applications and crashed (lots)lab machines learning about this. (ipcrm)

crowe
 
Hi crowe,
You are good.
i think the daily backup eat up my system resouces, slowly. could you please guide (help) me to remove and release the share memory segment?

Thank you and Best Regards,
Johnathon
 
The trick is to KNOW which shared memory segment to remove. The bad part, is that I have not discovered a great way to identify the segments, other than watching what creates what. There is no identifier that links the shared mem seg to a PID. ipcs -a will show the owner, so if say the "oracle" user started oracle, more than likely oracle will be the owner of the shared mem seg.
Anyway, once you KNOW that you have identified the proper shared mem seg, there is a key/SharedMemID associated with the segment. The command to remove the segment is: ipcrm -M key
or
ipcrm -m SharedMemID

So, lets say ipcs -a produces

m 16387 0x09c09bac --rw-r----- oracle dba oracle dba
8 149978656 20474 12004 6:50:06 6:49:25 6:27:07

And you KNOW that this is the one. You would then do:

# ipcrm -M 0x09c09bac (here is where you triple check)

(now press enter)

I would HIGHLY recommend testing this, on a lab machine.

crowe
 
Hi crowe,
Thank you. I'll study that.

Best Regards,
Johnathon
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top