Setting individual caching parameters

About this task

Although the scaling factor can be used to adjust MVFS cache, you can also change the sizes of individual caches. Before you take this approach, consider these issues:
Note: All cache tuning involves making intelligent trade-offs that optimize caching of frequently referenced objects without adversely affecting overall performance. Effective MVFS cache tuning for a given application requires extensive analysis and testing, in addition to a detailed knowledge of how that application uses the MVFS.
  • It is possible to adversely affect MVFS performance by changing individual caching parameters.
  • Using the scaling factor to change cache sizes greatly simplifies cache tuning and is effective in the majority of cases.
  • On multiprocessor systems, caches must sometimes be locked. Larger caches incur greater locking overhead, which has an impact on performance

Adjust cache sizes gradually and check the cache utilization with cleartool getcache –mvfs. If you change the MVFS cache configuration on a host, also consider reconfiguring each view on that host to increase its cache size. See Reconfiguring a view cache.

MVFS cache information describes each adjustable caching parameter and provides recommendations for setting its size. It also shows the relationship between the fields in getcache output and various setcache options.
Table 1. MVFS cache information
getcache output field name Description Adjustment mechanism
setcache option Control Panel value (Windows®)
Mnode freelist An mnode is a data structure used to represent a file or directory. The scaling factor determines the total number of mnodes allocated when the MVFS starts.

An mnode on the VOB free list was used recently but is currently idle. By keeping more mnodes on the free list, the time needed to reopen the associated file is reduced.

–vobfreemax Maximum number of mnodes to keep on the VOB free list
Cltxt freelist The cleartext free list is a collection of pointers to file objects in a storage pool. Caching these pointers speeds reopening of an MVFS-resident file, but consumes additional resources. (On a Windows computer, these resources include open file descriptors on a network connection if the storage is on a remote computer.) –cvpfreemax Maximum number of mnodes to keep on the cleartext free list
DNC File cache The DNC file and directory caches hold pointers to recently accessed files and directories. The ENOENT cache holds the names of files and directories for which a recent lookup failed. When presented with a file or directory name, the MVFS first looks in these caches. If it cannot find a matching entry, it must make an RPC to the view server. Each cache entry consumes approximately 100 bytes. The directory cache usually has the greatest impact on performance. –regdnc Maximum number of entries for files
DNC Directories –dirdnc Maximum number of entries for directories
DNC ENOENT –noentdnc Maximum number of entries for non-existent names
RPC handles One RPC handle is used for each RPC in progress from the MVFS to a view server. If the cache is 100% full when you perform large builds with many simultaneously active processes, you may want to increase this cache size to reduce the time required to perform an RPC. After an RPC handle is added to this cache, it remains available until the MVFS is restarted. If no RPC handles are available in the cache, a new one is created on demand. If the cache is not full, the new RPC handle is returned to the cache when the RPC completes. Otherwise, it is destroyed when the RPC completes. –rpchandles Maximum number of rpc handles
Readdir block cache size The readdir block cache is used to cache directory contents. If you routinely work with very large directories, you might want to increase the size of this cache. –readdir_blocks Maximum readdir cache blocks per directory
VOB freelist low-water mark Minimum number of mnodes to keep on the VOB free list. When the number of mnodes on the VOB free list reaches the specified maximum, the number of mnodes on the list is reduced to this value –vobfreemin Minimum number of mnodes to keep on the VOB free list
Cleartext freelist low-water mark Minimum number of mnodes to keep on the cleartext free list. When the number of mnodes on the cleartext free list reaches the specified maximum, the number of mnodes on the list is reduced to this value. –cvpfreemin Minimum number of mnodes to keep on the cleartext free list