zoukankan      html  css  js  c++  java
  • Linux系统内存还有剩余就开始使用swap交换区了

    程序运行缓慢,查看内存剩余的时候发现Linux系统内存还有60G剩余就开始使用swap交换区了。发现vm/swappiness设置是默认值60,也就是内存使用超过40%(100-60)的时候就会使用交换区了。

    系统把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

    这个swap交换区是从硬盘中预先划分一定的空间,所以使用swap交换区就需要在硬盘和内存间读写,增加IO,影响系统性能。

    查看vm.swappiness

        cat /proc/sys/vm/swappiness

         设置vm.swappiness=0 后并不代表禁用swap分区,只是告诉内核,能少用到swap分区就尽量少用到,设置vm.swappiness=100的话,则表示尽量使用swap分区,默认的值是60

    修改vm.swappiness
        echo 0 > /proc/sys/vm/swappiness
    永久设置
        /etc/sysctl.conf增加一行 vm.swappiness = 0
     

    可以使用vmstat命令查看swap交换区使用情况

    si

    • Amount of memory swapped in from disk (/s).
    • 从磁盘交换到swap虚拟内存的交换页数量,单位:KB/秒。如果这个值大于0,表示物理内存不够用或者内存泄露了

    参考:

    https://v2ex.com/t/615860

    浪漫家园,没事就来逛逛
  • 相关阅读:
    Cocos2d-x 学习笔记(11.1) MoveBy MoveTo
    Cocos2d-x 学习笔记(10) ActionInstant
    Cocos2d-x 学习笔记(9) Action 运行原理
    Cocos2d-x 学习笔记(8) ActionManager
    Cocos2d-x 学习笔记(7) 内存管理 Sprite SpriteFrame Texture2D
    Cocos2d-x 学习笔记(6) Sprite SpriteFrameCache Texture2D TextureCache
    常见串口术语区分
    串口调试
    Linux
    缓冲区
  • 原文地址:https://www.cnblogs.com/lovezbs/p/13906072.html
Copyright © 2011-2022 走看看