meta data for this page

sysctl

huge pages

sysctl vm.nr_hugepages=32
 
cat /proc/meminfo
HugePages_Total:      95
HugePages_Free:       72
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:          194560 kB

fs writes - dirty cache

Low write performance on Linux servers with large RAM

# Contains the amount of dirty memory at which the background kernel flusher threads will start writeback. # Note: # dirty_background_bytes is the counterpart of dirty_background_ratio. # Only one of them may be specified at a time. When one sysctl is written it is immediately taken into # account to evaluate the dirty memory limits and the other appears as 0 when read.

vm.dirty_background_bytes = 0 vm.dirty_background_ratio = 10

# Contains the amount of dirty memory at which a process generating disk writes will itself start writeback. # Note: dirty_bytes is the counterpart of dirty_ratio. Only one of them may be specified at a time. # When one sysctl is written it is immediately taken into account to evaluate #the dirty memory limits and the other appears as 0 when read. vm.dirty_bytes = 0

# Contains, as a percentage of total available memory that contains free pages and reclaimable pages, # the number of pages at which a process which is generating disk writes will itself start writing out dirty data. vm.dirty_ratio = 20

# This tunable is used to define when dirty data is old enough to be eligible for writeout by the kernel flusher threads. vm.dirty_expire_centisecs = 3000

# The kernel flusher threads will periodically wake up and write old data out to disk. vm.dirty_writeback_centisecs = 500