• /proc/sys/vm/参数


    1) /proc/sys/vm/block_dump
    该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。

    缺省设置:0,禁用Block Debug模式
    2) /proc/sys/vm/dirty_background_ratio
    该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写回磁盘。

    缺省设置:10
    3) /proc/sys/vm/dirty_expire_centisecs
    该文件表示如果脏数据在内存中驻留时间超过该值,pdflush进程在下一次将把这些数据写回磁盘。

    缺省设置:3000(1/100秒)
    4) /proc/sys/vm/dirty_ratio
    该文件表示如果进程产生的脏数据到达系统整体内存的百分比,此时进程自行把脏数据写回磁盘。

    缺省设置:40
    5) /proc/sys/vm/dirty_writeback_centisecs
    该文件表示pdflush进程周期性间隔多久把脏数据写回磁盘。

    缺省设置:500(1/100秒)
    6) /proc/sys/vm/vfs_cache_pressure
    该文件表示内核回收用于directory和inode cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode cache;增加该值超过100,将导致内核倾向于回收directory和inode cache
    缺省设置:100
    7) /proc/sys/vm/min_free_kbytes
    该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。

    缺省设置:724(512M物理内存)
    8) /proc/sys/vm/nr_pdflush_threads
    该文件表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。

    缺省设置:2(只读)
    9) /proc/sys/vm/overcommit_memory
    该文件指定了内核针对内存分配的策略,其值可以是0、1、2。
    0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
    1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
    2, 表示内核允许分配超过所有物理内存和交换空间总和的内存(参照overcommit_ratio)。

    缺省设置:0
    10) /proc/sys/vm/overcommit_ratio
    该文件表示,如果overcommit_memory=2,可以过载内存的百分比,通过以下公式来计算系统整体可用内存。
    系统可分配内存=交换空间+物理内存*overcommit_ratio/100

    缺省设置:50(%)
    11) /proc/sys/vm/page-cluster
    该文件表示在写一次到swap区的时候写入的页面数量,0表示1页,1表示2页,2表示4页。

    缺省设置:3(2的3次方,8页)
    12) /proc/sys/vm/swapiness
    该文件表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。

    =======================

    如何调节内核IO参数来优化IO写性能?
    (1)首先调优dirty_background_ratio
        把这个参数适当调小,这样可以使得cached主的脏数据减少,把原来一个大的IO刷新操作变为多个小的IO刷新操作,从而把IO写峰值削平。对于cached很大或者磁盘很慢的场景,应该把这个值设置的小一点。调节方法:echo 5 >> /proc/sys/vm/dirty_background_ratio 把这个百分比更新为5% (注意这里所占的百分比是针对于:MemFree + Cached - Mapped而言的,并不是相对于MemTotal)
     
    (2)第二步调节dirty_ratio参数
        把这个参数适当调小,原理通(1)类似。如果cached的脏数据所占比例(这里是占MemTotal的比例)超过这个设置,系统会停止所有的应用层的IO写操作,等待刷完数据后恢复IO。所以万一触发了系统的这个操作,对于用户来说影响非常大的。
  • 相关阅读:
    详解C#委托,事件与回调函数
    JavaScript Dictionary
    jQuery匹配各种条件的选择器用法
    通用Json的处理办法
    JavaScript 创建类/对象的几种方式
    捕获和记录SQL Server中发生的死锁
    [转] HTML 获取屏幕、浏览器、页面的高度宽度
    [转] 实时监听input输入的变化(兼容主流浏览器)
    [转] Web移动端Fixed布局的解决方案
    [转] offsetParent 到底是哪一个?
  • 原文地址:https://www.cnblogs.com/itfenqing/p/6118346.html
Copyright © 2020-2023  润新知