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 Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Ubc_borrowpercent kernel setting

Status
Not open for further replies.

akeelm

IS-IT--Management
Jul 8, 2003
2
GB
Hi all,


I have a question related to the following parameters on a tru64 5.1a machine. Has anyone seen these being set ?
Need to find out more information on them. We have a tru64 machince running Oracle 8.1.7.4 and it is currently running very slow. Being told that the parameters below could have an effect on the performance of the database.

If that is the case, please can someone advise as to what these paramaters mean and what they should be set to.
Ubc_minpercent,Ubc_maxpercent and Ubc_borrowpercent.

Thanks,


Akeel
 
Hi all,

Attached is a response which i thought i'd add.


First note from Compaq:
# Watch out for the next 2 UBC paramters. When using RAW
# devices and direct I/O you can take these 2 pretty low. When using
# Advfs you might want these higher, say 20 and 10 respectively.
ubc-maxpercent = 5
ubc-minpercent = 2
#If you adjust ubc-maxpercent, you'll also need to adjust ubc-seqstartpercent.
# Set ubc-seqstartpercent to be half that of ubc-maxpercent
ubc-seqstartpercent = 3

Second note from Compaq
ubc_maxpercent=50 (later it was suggested that 20 % was sufficient when using ADVfs)
ubc_minpercent=5
ubc_borrowpercent=10

Link to Tru64 documentation page -

Extract from another section of Compaq docs follows:

-----------------------------------------------------------------------------------------------------------------
3 Tuning the UBC
The Unified Buffer Cache (UBC) shares with processes the memory that is not wired to cache UFS user and application data and AdvFS user and application data and metadata. File-system performance is improved if the data and metadata is reused and in the UBC.
Related Attributes
The following list describes the vm subsystem attributes that relate to the UBC:
vm_ubcdirtypercent - Specifies the percentage of pages that must be dirty (modified) before the UBC starts writing them to disk.
Value: 0 to 100
Default Value: 10 percent
ubc_maxdirtywrites - Specifies the number of I/O operations (per second) that the vm subsystem performs when the number of dirty (modified) pages in the UBC exceeds the value of the vm_ubcdirtypercent attribute.
Value: 0 to 2,147,483,647
Default Value: 5 (operations per second)
ubc_maxpercent - Specifies the maximum percentage of physical memory that the UBC can use at one time.
Value: 0 to 100
Default Value: 100 percent
ubc_borrowpercent - Specifies the percentage of memory above which the UBC is only borrowing memory from the vm subsystem. Paging does not occur until the UBC has returned all its borrowed pages.
Value: 0 to 100
Default Value: 20 percent
Increasing this value might degrade system response time when a low-memory condition occurs (for example, a large process working set).
ubc_minpercent - Specifies the minimum percentage of memory that the UBC can use. The remaining memory is shared with processes.
Value: 0 to 100
Default Value: 20 percent
Increasing the value prevents large programs from completely consuming the memory that the UBC can use.
For I/O servers, consider increasing the value to ensure that enough memory is available for the UBC.
vm_ubcpagesteal - Specifies the minimum number of pages to be available for file expansion. When the number of available pages falls below this number, the UBC steals additional pages to anticipate the file's expansion demands.
Value: 0 to 2,147,483,647
Default Value: 24 (file pages)
vm_ubcseqpercent - Specifies the maximum amount of memory allocated to the UBC that can be used to cache a single
Value: 0 to 100
Default Value: 10 percent of memory allocated to the UBC
Consider increasing the value if applications write large files.
vm_ubcseqstartpercent - Specifies a threshold value that determines when the UBC starts to recognize sequential file access and steal the UBC LRU pages for a file to satisfy its demand for pages. This value is the size of the UBC in terms of its percentage of physical memory.
Value: 0 to 100
Default Value: 50 percent
Consider increasing the value if applications write large files.
Note
If the values of the ubc_maxpercent and ubc_minpercent attributes are close, you may degrade file system performance.
When to Tune
An insufficient amount of memory allocated to the UBC can impair file system performance. Because the UBC and processes share memory, changing the values of UBC-related attributes might cause the system to page. You can use the vmstat command to display virtual memory statistics that will help you to determine if you need to change values of UBC-related attributes. Table 11-3 <CHFSXXXX.HTM> describes when you might change the values UBC-related attributes based on the vmstat output:
Table 11-3: When to Change the Values of the UBC-Related Attributes
If vmstat displays excessive action:
Paging but few or no page outs: Increase the value of the ubc_borrowpercent attribute.
Paging and swapping : Decrease the ubc_maxpercent attribute.
Paging : Force the system to reuse pages in the UBC instead of from the free list by making the value of the ubc_maxpercent attribute greater than the value of the vm_ubseqstartpercent attribute, which it is by default, and that the value of the vm_ubcseqpercent attribute is greater than a referenced file.
Page outs : Increase the value of the ubc_minpercent attribute.
You can modify the value of any of the UBC parameters described in this section without rebooting the system.
Note
The performance of an application that generates a lot of random I/O is not improved by a large UBC, because the next access location for random I/O cannot be predetermined.
 
Performance tuning of Oracle in my experience is a bit of a black art unless you know both the OS and the APP very well as well as the impact/requirements that other applications have on your system. This link sort of explains what the parameters are and their defaults:


To find out what the values are (they're probably the defaults as described above) you can use sysconfig -q vm

HTH
 
Ah, see you've already had similar information sent to you.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top