zoukankan      html  css  js  c++  java
  • 记一次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

  • 相关阅读:
    bzoj1009
    bzoj1576 3694
    bzoj3143
    bzoj1391
    bzoj2729
    bzoj2653
    bzoj3261
    bzoj2326
    人件
    优秀的产品
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13698739.html
Copyright © 2011-2022 走看看