• 记一次linux 内存异常的处理


    最近一次接到一个反馈linux系统内存占用很高,通过top没看到异常的服务,使用free 命令查看内存
    占用就是很高,操作系统内存在49G,直接就占用了40G,可用的很少,而且反馈说主机重启之后
    直接也就占用了40G的空间

    大致分析

    在刚开始的时候感觉是应用异常(没了解少直接重启也出现类似问题),top之后没发现异常进程(后边
    打算使用per-tools 以及perf 分析的),再了解到直接启动之后就40G,而且free 对于内存的计算是基于
    /pro/memeinfo 理论上不会出问题的,还是很比较准确的(有一次分析问题,大概看了下计算算法),然后就
    感觉不太正常,可能是内核配置是有问题(因为应用业务都是正常的,没有什么异常服务),查看之后发现了
    一个不太多的内核参数配置(关于巨页的)

     
    vm.nr_hugepages=20480 

    然后在查看cat /proc/memeinfo, 的确是巨页占用了大部分内存的使用,按照默认巨页2M的计算刚好是40G
    内存占用的大小刚好对上

    解决方法

    直接禁用巨页的使用(业务可以不用巨页),删除内核关于巨页的配置就可以了

    说明

    关于linux 内核参数的配置还是需要谨慎点,了解系统的需求以及业务场景,合理的调优内核参数

    参考资料

    https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt

  • 相关阅读:
    自定义 Laravel 5.7
    1项目环境配置和用户表设计
    Laravel 6.X + Vue.js 2.X + Element UI 开发知乎流程
    component:(resolve) => require
    Vue2.0 render:h => h(App)
    techiediaries Vuejs教程
    techiediaries网站的Laravel 6系列教程
    合并结果插件
    SQLMAP
    CNC MacroProgram
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13698739.html
Copyright © 2020-2023  润新知