Operating System - HP-UX
1753913 Members
9204 Online
108810 Solutions
New Discussion юеВ

Re: file system buffer size confirmation

 
SOLVED
Go to solution
Michael Denney
Valued Contributor

file system buffer size confirmation

Looking at a kernel config:

bufpages=261324
dbc_max_pct=2
dbc_min_pct=2


This means that buffer size is set to a hard size since bufpages > 0. The actual buffer size is
261324*4096= 1,070,833,104 bytes. (1gb)
So the filesystem buffer size is 1gb.

This is correct calculation?

Thanks for your help, just looking for confirmation of my calculation..or correct my calculation. Going to recommend the client cuts this in half for performance reasons if my calculation is correct.
10 REPLIES 10
James R. Ferguson
Acclaimed Contributor

Re: file system buffer size confirmation

Hi Michael:

Yes, I agree. However, you don't say *what* the client is running or how much physical memory they have. "Your mileage may vary" always applies.

Regards!

...JRF...
James R. Ferguson
Acclaimed Contributor
Solution

Re: file system buffer size confirmation

Hi (again) MIchael:

Oh, I presume(d) too, that 'nbuf=0'.

http://docs.hp.com/en/TKP-90202/re08.html?btnNext=next%A0%BB

Regards!

...JRF...
A. Clay Stephenson
Acclaimed Contributor

Re: file system buffer size confirmation

Yes your calculation is correct; since you are running a fixed buffer cache (my favorite for almost all boxes) you should also check the nbuf value. Nbuf = 0 generally does a nice job and should be changed to a non-zero value only if you fully understand the behavior of this parameter and percieve a need.
If it ain't broke, I can fix that.
Dan Deck
Advisor

Re: file system buffer size confirmation

I have a clustered server with 8 Gb of memory, 4 cpu's rp7410.
The server run's PeopleSofts application servers only.
What are your thoughts on this environment as I am noticing a high deactivation rate >2.
My dbc_max_percent is set to the default of 50%.
I noticed in glance that I only seem to use about 500mb of buffer cache.

Thanks
James R. Ferguson
Acclaimed Contributor

Re: file system buffer size confirmation

Hi Dan:

Well, I presume an Oracle database from what you report. Since Oracle has its own buffer cache, in the absence of other information (in particular, JFS mount options), I'd reduce the Unix buffer cache to perphas 400,000 bytes or a 'dbc_max_pct' ~ 5% and a 'dbc_min_pct' = 2%. To enable this, you must set 'nbuf=0' along with 'bufpages'.

Unlike Clay, I prefer a dynamic buffer cache. Either way, however, I think your buffer cache size is too large.

Regards!

...JRF...
Michael Denney
Valued Contributor

Re: file system buffer size confirmation

The systems has 48gb ram. Oracle 9.2. An OLTP system with about 80%read 20% write I/O. The reads and writes are mostly small, 8k or less. The client has been experiencing I/O performance problems. I would like the client to try setting the buffer cache smaller(500mb) and to change mount options for the data filesystems and index filesystem to direct i/o. (convosync=direct, mincache=direct, nodatainlog,delaylog)
Michael Denney
Valued Contributor

Re: file system buffer size confirmation

nbuf= 276012 on this system. This seems really large.
Devender Khatana
Honored Contributor

Re: file system buffer size confirmation

Hi,

What holds the file systems here ? If this is a sort of storage with sufficient cache then setting direct I/O will substantially improve performance. The will off course reduce usage of buffer cache.

The important factor again will be the amount of cache at the storage level.

HTH,
Devender
Impossible itself mentions "I m possible"
Nguyen Anh Tien
Honored Contributor

Re: file system buffer size confirmation

Most system administrators prefer to specify what percentage or range of percentages of available system memory can be allocated for buffer use, letting the system allocate memory for buffers as needed within the specified limits. Two kernel parameters, dbc_min_pct and dbc_max_pct, control the lower and upper limit, respectively, as a percentage of system memory. How many pages of memory are allocated for buffer cache use at any given time is determined by system needs, but the two parameters ensure that allocated memory never drops below dbc_min_pct and cannot exceed dbc_max_pct percent of total system memory. Administrators of multiple systems usually prefer this method because it provides an easy way to choose buffer space limits that are directly related to how much memory is actually installed in each machine, allowing common or similar kernel configurations throughout the network.
For administrators who choose not to use dynamic buffer caching, the two kernel parameters, nbuf and bufpages, control static buffer allocation. If bufpages is nonzero, it specifies the fixed number of 4096-byte pages that are to be allocated for the file system buffer cache. nbuf is provided for backward compatibility purposes. If set to a nonzero value, nbuf specifies the maximum number of buffer headers that can exist in the buffer header array. However, the preferred approach is to set nbuf to zero, in which case, one header is created for each two bufpages allocated.
HP is simple