zoukankan      html  css  js  c++  java
  • Linux系统内存占用90%以上——解决方法

    Linux系统内存占用90%以上,是否属于正常范围? 
    Linux/Unix系统管理内存的方式和windows是不一样的,即便是一个负载很小的linux,跑几天后,内存占用量也将达到90%以上,即便无人访问,这个数字是完全正常的。但是,这个内存占用量不会达到100%的,每天夜里系统都会执行/etc/cron.daily进行内存优化。 
     
    Linux/Unix系统是非常稳健的,虽然内存占用显示90%以上,但依然可保证365天以上无须重启。对于Linux系统,评估其压力的主要指标是最近5分钟的负载指数:比如用w命令或者top去看,可以看到“0.70 0.35 0.01”这样的数字,分别表示5分钟内的、10分钟内的、15分钟内排队的进程数,只要第一个数字即5分钟内的负载不大于5,系统就是健康的,不用做任何维护;如果这个数字大于了5,那么通常系统速度就会变慢,一般有如下几种可能: 
    
    1) 有程序占用大量CPU,使用top命令来检查(看看是否有java程序锁死之类的故障) 
     
    2) 有程序占用大量内存,使得内存真正不够用了(这个才是真正需要加内存的时候),比如由于MySQL在较大负载下运行容量为GB级别的数据库导致内存不够用,需要给服务器插入更多物理内存 
     
    3) 磁盘系统读写故障,IO吞吐错误造成CPU负载上升,需要光盘引导进入单用户模式扫描修复磁盘,修不好就只能更换新硬盘了 
     
    因此,对于Linux/Unix系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可 
    
    但也可以手动进行内存释放,具体操作如下: 
    cat /proc/sys/vm/drop_caches
    0

    首先,/proc/sys/vm/drop_caches的值,默认为0

    free一下查看当前内存可使用的较少,执行一下以下的命令,可以解决当前的问题

    echo 3 > /proc/sys/vm/drop_caches 
    

     结果

    cat /proc/sys/vm/drop_caches
    3
    

    再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB.那么有效的释放了buffer和cache.   

  • 相关阅读:
    获取split分割的最后一个值
    django分页查询
    django中iframe请求报错的问题
    pandas.Series
    NumPy 切片和索引
    继承
    NumPy 从数值范围创建数组
    迭代器iter用法
    numpy.asarray
    NumPy 创建数组
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/12435737.html
Copyright © 2011-2022 走看看