zoukankan      html  css  js  c++  java
  • 处理阿里云Git服务器内存报警问题,启用swap交换内存

    很多小伙伴或公司会自建Git服务器,大家会发现Git是非常耗内存的,近期以我们遇到的案例来说明一下如何处理(银子多的同学可直接跳过,升级一下内存即可):
     
    阿里云服务器默认的swappiness参数配置是0,也就是说即使你配置了swap若程序不用光你购买的内存也无法让swap生效,这里需要自己设置一下,我改成了CentOS默认的30。
     
    解释下什么是swappiness:swappiness参数决定了系统将数据从内存交换到swap空间的频率,数值设置在0到100之间,代表系统将数据从内存交换到swap空间的力度,这里要注意不是越大越好,可根据你的实际情况来决定一个平衡值。该数值越接近于0,系统越倾向于不进行swap,仅在必要的时候进行swap操作。由于swap要比内存慢很多,因此减少对swap的依赖意味着更高的系统性能。该数值越接近于100,系统越倾向于多进行swap。有些应用的内存使用习惯更适合于这种情况,这也于服务器的用途有关。
    输入如下命令查看当前的swappiness数值:
    cat /proc/sys/vm/swappiness
    

      CentOS 7默认设置了30的swappiness,这对于大部分桌面系统和本地服务器是比较中庸的数值。对于VPS系统而言,可能接近于0的值是更加合适的,这就是阿里云为什么是0的原因。

         修改这个值的命令如下:
    sysctl vm.swappiness=30
    

      让每次重启生效:

    vi /etc/sysctl.conf
    #添加下面内容:
    vm.swappiness = 30
    sysctl -p

    这里还得说下另外一个指标:缓存压力(Cache Pressure )
    配置项是vfs_cache_pressure,该配置项涉及特殊文件系统元文件条目的存储。对此类信息的频繁读取是非常消耗性能的,所以延长其在缓存的保存时间可以提升系统的性能。

    通过proc文件系统查看缓存压力的当前设定值:

    cat /proc/sys/vm/vfs_cache_pressure

    这个数值比较高的话(0-100),意味着系统从缓存中移除inode信息的速度比较快。一个保守一些的数值是50,使用sysctl命令进行设置:

    sysctl vm.vfs_cache_pressure=50
    

      修改成每次重启生效:

    vi /etc/sysctl.conf
    #添加以下内容
    vm.vfs_cache_pressure = 50
     sysctl -p

    至于如何创建并启用swap,请参考我的这篇文章:https://www.cnblogs.com/Don/p/11432629.html

     
     
     
     
     
     
  • 相关阅读:
    css实现鼠标移入table时出现滚动条且table内容不移位
    SASS学习笔记
    html5--canvas学习笔记
    在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
    css background-position:x% y%
    js十进制等互相转换
    jsp中的动作元素:<jsp:plugin>
    终于有时间写代码了
    OK 开始实践书上的项目一:即使标记
    我没有忘记敲代码
  • 原文地址:https://www.cnblogs.com/Don/p/12533446.html
Copyright © 2011-2022 走看看