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.