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?

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

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

     

  • 相关阅读:
    149. Max Points on a Line(js)
    148. Sort List(js)
    147. Insertion Sort List(js)
    146. LRU Cache(js)
    145. Binary Tree Postorder Traversal(js)
    144. Binary Tree Preorder Traversal(js)
    143. Reorder List(js)
    142. Linked List Cycle II(js)
    141. Linked List Cycle(js)
    140. Word Break II(js)
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/9435178.html
Copyright © 2011-2022 走看看