sysctl.conf.内存篇

vm.max_writeback_pages = 1024

vm.flush_mmap_pages = 1

vm.pagecache = 100

vm.min_slab_ratio = 5

vm.min_unmapped_ratio = 1

vm.zone_reclaim_mode = 0

vm.swap_token_timeout = 300     0

vm.legacy_va_layout = 0


vm.vfs_cache_pressure = 100#默认值:100

#参数意义:控制内核回收再利用用于缓存目录与inode对象的内存的趁势。默认值设为100表示内核以平等的速度去考虑pagecache和swapcache的回收再利用。

#减小它,会触发内核保持目录与inodes的缓存内存。增大它,会触发内核回收再利用目录与inodes的缓存内存。


vm.block_dump = 0

vm.laptop_mode = 0

vm.max_map_count = 65536

vm.percpu_pagelist_fraction = 0

vm.min_free_kbytes = 14075

vm.drop_caches = 0#默认值 :0

#设置这个参数的值会让内核清理内存中的caches、denties、inodes,从而释放更多的内存。

#有三个值可以设置,每设一个值都会引发内核释放不同的内容:1:释放pagecache2:释放denties、inodes3:释放pagecache、denties、inodes

#由于这是一个非破坏性操作而且脏对象不会被释放,因此应当先执行”sync“后再设置这个参数。


vm.lowmem_reserve_ratio = 256   256     32

vm.hugetlb_shm_group = 0

vm.nr_hugepages = 0

vm.swappiness = 60

vm.nr_pdflush_threads = 2


vm.dirty_expire_centisecs = 2999#默认值:2999

#参数意义:用来指定内存中数据是多长时间才算脏(dirty)数据。指定的值是按100算做一秒计算。只有当超过这个值后,才会触发内核进程pdflush将dirty数据写到磁盘。


vm.dirty_writeback_centisecs = 499#默认值:499

#这个参数会触发pdflush回写进程定期唤醒并将old数据写到磁盘。每次的唤醒的间隔,是以数字100算做1秒。

#如果将这项值设为500就相当5秒唤醒pdflush进程。如果将这项值设为0就表示完全禁止定期回写数据。


vm.mmap_min_addr = 4096


vm.dirty_ratio = 40#默认值:40

#参数意义:控制一个在产生磁盘写操作的进程开始写出脏数据到内存缓冲区。缓冲区的值大小是系统内存的百分比。增大会使用更多系统内存用于磁盘写缓冲,可以提高系统的写性能。

#当需要持续、恒定的写入场合时,应该降低该数值。


vm.dirty_background_ratio = 10#默认值 :10

#参数意义:控制pdflush后台回写进程开始写出脏数据到系统内存缓冲区。缓冲区的值大小是系统内存的百分比。增大会使用更多系统内存用于磁盘写缓冲,可以提高系统的写性能。

#当需要持续、恒定的写入场合时,应该降低该数值。


vm.page-cluster = 3 #默认值为:3

#这个参数用来控制VM的虚拟内存的,读取大量的page,同时发生page错误时,linux VM子系统为了避免过多的磁盘寻址。

#读取大量的page依赖于系统的内存。内核 一次读取page的数量等于2的page-cluster值的次方即2^page-cluster。当设的值超过2的5次方即2^5,它不会被swap所检测到。

#因为swap的数据page最大为2的5次方即32-page。


vm.overcommit_ratio = 50#默认值为:50

#这个参数值只有在vm.overcommit_memory=2的情况下,这个参数才会生效。


vm.panic_on_oom = 0#默认值 :0

#参数意义:当超出内存时,是否开启内核崩溃特性。当设为1时,表示当发生超出内存时,内核会panic

#当设为0时,表示当发生超出内存时,内核会kill掉一些空闲进程从而不让系统内核崩溃而继续运行,通常也称它为oom_killer

#因此一般用它的默认值即可


vm.overcommit_memory = 0 #默认值为:0

#从内核文档里得知,该参数有三个值,分别是:

#0:当用户空间请求更多的的内存时,内核尝试估算出剩余可用的内存。

#1:当设这个参数值为1时,内核允许超量使用内存直到用完为止,主要用于科学计算

#2:当设这个参数值为2时,内核会使用一个决不过量使用内存的算法,即系统整个内存地址空间不能超过swap+50%的RAM值,50%参数的设定是在overcommit_ratio中设定。


还有一些没收集全请谅解,如有知道的帮我补补谢谢。

你可能感兴趣的:(sysctl.conf)