zoukankan      html  css  js  c++  java
  • 为什么linux有足够的内存还进行swap?

     

    1、Linux在内存被用完之前开始交换。这是为了提高性能和响应能力:

    性能提高是因为一些内存放磁盘缓存比方内存更合适。因此,最好将一个已经停用了一段时间的程序交换出去,而将经常使用的文件保存在缓存中。

    当系统处于空闲状态时,而不是当内存满时,一些程序正在运行并请求更多的RAM来完成任务时,响应能力会得到改善。

     

    2、如何在有内存可用的时候,不使用swap呢?

    修改swappiness:

    swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换;

    现在一般1个G的内存可修改为10, 2个G的可改为5, 甚至是0。

    cat /proc/sys/vm/swappiness         查看参数值

    修改swappiness值为10
         sudo sysctl vm.swappiness=10
      但是这只是临时性的修改,在你重启系统后会恢复默认的60,为长治久安,还要更进一步:
      sudo vim /etc/sysctl.conf
      在这个文档的最后加上这样一行:
      vm.swappiness=10
      然后保存,重启。ok,你的设置就生效了。

    3、为什么不建议关闭swap?

    即使您有足够的内存,也不建议关闭交换器。如果您的服务器需要更多的内存,但它没有获得内存,它将崩溃。但是,当您有一个交换区域时(在某种程度上)可以避免这种情况。

    是的,当使用交换时,您的服务器性能会降低,但至少它是可操作的和可访问的。然后,如果您的服务器开始使用交换,您可以计划在需要时添加更多的内存。

     

  • 相关阅读:
    sed 命令
    find命令详解
    texlive、
    linux source命令与export命令的区别
    vscode浏览器打开html vscode修改默认浏览器
    npm install说明
    有关必须组件化的需求
    日志文件上传的时机
    TypeScript vs. C#: LINQ
    JavaScript 运行机制详解:再谈Event Loop
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/9435178.html
Copyright © 2011-2022 走看看