|
bdflush Parametersbdflush starts, flushes, or tunes the buffer-dirty-flush daemon. It is related to the operation of the kernel's virtual memory VM subsystem. bdflush can be tuned to improve file system performance. If you change some of the values from the default, as shown next, the system can be more responsive. The file /proc/sys/vm/bdflush controls the operation of the bdflush kernel daemon. The default setup for the bdflush parameters under Red Hat and SUSE systems is 50 500 0 0 500 3000 60 20 0 To view the bdflush settings on a system, issue the following command: # cat /proc/sys/vm/bdflush 50 500 0 0 500 3000 60 20 0 The first parameter (nfract), default 50, governs the maximum number of dirty buffers in the buffer cache. Setting this to a high value means that the kernel can delay writes for a longer time, but it also means that it needs to do so when memory becomes low. A low value spreads disk I/O more evenly. The second parameter (ndirty), default 500, is the maximum number of dirty buffers that bdflush can write to the disk at one time. A high value means burst I/O, whereas a small value can lead to memory shortage when bdflush isn't started frequently. The third and fourth parameters are not currently used. The fifth parameter (interval), default 500, is the delay between kupdate flushes. The sixth parameter (age_buffer), default 3000, is the time for a normal buffer to age before it is flushed. The seventh parameter (nfract_sync), default 60, is the percentage of buffer cache that is dirty to activate bdflush synchronously. The eighth parameter (nfract_stop_bdflush), default 20, is the percentage of buffer cache that is dirty to stop bdflush. The ninth parameter is not currently used. In the following example, nfract is increased from 50 to 100, and ndirty is increased from 500 to 1200: # echo "100 1200 0 0 500 3000 60 20 0">/proc/sys/vm/bdflush |
|