• 处理阿里云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

     
     
     
     
     
     
  • 相关阅读:
    8 -- 深入使用Spring -- 5...3 使用@CacheEvict清除缓存
    8 -- 深入使用Spring -- 5...2 使用@Cacheable执行缓存
    tomcat 的 server.xml配置文件
    WEB-INF目录与META-INF目录的作用
    一个tomcat设置多个端口,多个端口对应多个应用
    8 -- 深入使用Spring -- 5...1 启用Spring缓存
    8 -- 深入使用Spring -- 5... Spring 3.1 新增的缓存机制
    8 -- 深入使用Spring -- 4...6 AOP代理:基于注解的XML配置文件的管理方式
    eclipse中设置文件的编码格式为utf-8
    MySQL 触发器简单实例
  • 原文地址:https://www.cnblogs.com/Don/p/12533446.html
Copyright © 2020-2023  润新知