The dbc_min_pct 核心参考定义动态高速缓冲区所使用的最小内存百分比,下面是容许的dbc_min_pct 值:
最小: 2
最大: 90
缺省: 5
在文件系统 I/O 操作过程中,数据存储在一个高速缓冲区中,它的大小可以是固定的,可以是动态分配的。当bufpages 和 nbuf 参数设为缺省值零时,高速缓冲区的大小根据对系统内存的竞争性请求,动态地增大或减小。
dbc_min_pct 值指定动态高速缓冲区保留的物理内存的最小百分比,可以将dbc_min_pct 和 dbc_max_pct 设为同一个值,比如12,创建一个高速缓冲区使用准确的物理内存百分比的内核,而不管物理内存的大小是多少。
选择适当的值
为确定高速缓冲区的使用情况,执行'sar -b'命令并注意lwrit/s值:每秒钟向高速缓冲区写入次数%wcache。
高速缓冲区的写请求命中率应当大于或等于75%。如果高速缓冲区设得太高或太低,系统就会挂起。
使用下面的公司确定以MB为单位的合理的最小高速缓冲区尺寸值:
(系统进程数) (最大的文件系统块尺寸) / 1024
为确定dbc_min_pct的值,将结果除以计算机上安装的物理内存MB数,然后该值乘上100,即获得正确的百分比值。
在计算中只应当包括活跃地使用磁盘I/O的那些进程,下面是计算中应当包括或除外的进程实例:
包括: NFS 守护进程,nroff 等文本格式化程序,数据库管理应用程序,文本编辑器,编译器,等等,这些进程访问或使用系统上安装的一个或多个文件系统中的源和/或输出文件。
除外: X-display应用程序,hpterm,rlogin,登录shells,系统守护进程,telnet 或 uucp 连接,等等,这些进程使用的磁盘I/O 非常少。
dbc_max_pct参数定义动态高速缓冲区使用的最大内存百分比,下面是容许的dbc_max_pct值:
最小: 2
最大: 90
缺省: 50
当 bufpages 和 nbuf 参数均设为缺省值零时,高速缓冲区的大小根据对系统内存的竞争性请求,动态地增大或减小。dbc_max_pct值设置可以分配给动态高速缓冲区的最大物理内存百分比。
dbc_max_pct 必须大于或等于dbc_min_pct。高速缓冲区用于同步文件系统磁盘写入,这意味着如果您的应用程序频繁进行写后读I/O 或异步I/O,就基本上不需要高速缓冲区。如果进行大量的同步文件系统磁盘写入,就必须在高速缓冲区与其它性能因素之间进行平衡,选择对您的系统有意义的参数。我们建议您开始时将dbc_max_pct设置为内存的10%。
'sar -b'命令将显示您的高速缓冲区命中率。理想的命中率大约是读95%,写75%,但一个系统很少会达到这些理想的命中率。例如,如果执行很高比例的写后读I/O,或者是很高比例的metadata LVM (逻辑卷管理器)排队,命中率就不会有那么高。
命中率越高越好,高速缓冲区使用的内存越多。当然,您不必使用所有的内存来获得更高的命中率。您必须决定哪一种对策更有利:使用更多高速缓冲区的性能,还是限制高速缓冲区达到的性能。
阅读(2041) | 评论(0) | 转发(0) |