zoukankan      html  css  js  c++  java
  • swap分区

    1、什么是交换分区

    交换分区的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,

    腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

     2、关于swap交换分区的设置

    一种流行的、以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。

    也就是说,如果内存是2G,那么就应该分出4G的硬盘空间作为交换空间,其实这是严重的浪费。

    真实的情况是:可以根据你系统内存的大小,以及所使用的程序,自行决定交换分区的大小,甚至可以完全不用交换分区!

    做一个假设:如果你的内存足够大,极少出现内存不足的情况,那么你就不需要交换分区。事实上,日常使用很少能用完全部的内存。

    在用不完内存容量的情况下,还要划出它两倍的硬盘空间用于内存交换,这不是浪费吗?

    可以说,在你内存基本够用的情况下,完全可以不要交换空间。在Windows下也是一样,在系统属性中,把虚拟内存设置为0,系统依然运行的很好。

    当然,如果你用的是服务器,还是要有专门的虚拟内存,有备无患。但是虚拟内存的大小不一定非要内存的两倍。 

    3、查看swap 空间大小(总计) 

    [root@localhost swap]# free -m                            ;-m表示单位为MB,默认单位为KB(-k);此外还有Byte(-b)和GB(-g)
                 total       used       free     shared    buffers     cached
    Mem:          1893        720       1172          0        111        495     ;该行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存
    -/+ buffers/cache:        113       1780                                      ;从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小.
    Swap:         2015          0       2015                                      ;swap空间的大小

      

    4、查看swap 空间(file(s)/partition(s)) 

    [root@localhost swap]# swapon -s                                              ;等价于 cat /proc/swaps ,包括 文件 和 分区 的详细信息
    Filename                Type        Size    Used    Priority
    /dev/sda3                               partition    2064376    0    -1

     5、添加交换空间

    Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。

    前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。

    推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。

    5.1、添加一个交换分区 

    1、使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
    2、 使用 mkswap 命令来设置交换分区:
       # mkswap /dev/sdb2
    3、启用交换分区:
       # swapon /dev/sdb2
    4、写入/etc/fstab,以便在引导时启用:
          /dev/sdb2 swap swap defaults 0 0

    5.2、添加一个交换文件

    1、创建大小为512M的交换文件:
       # dd if=/dev/zero of=/swapfile1 bs=1024k count=512
    2、使用 mkswap 命令来设置交换文件:
       # mkswap /swapfile1
    3、启用交换分区:
       # swapon /swapfile1
    4、写入/etc/fstab,以便在引导时启用:
        /swapfile1 swap swap defaults 0 0
    
    新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。

    6、删除交换空间

    1、禁用交换分区:
       # swapoff /dev/sdb2
    2、从 /etc/fstab 中删除项目;
    3、使用fdisk或yast工具删除分区。
    
    删除交换文件步骤同上。

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    参考资料:

    http://blog.sina.com.cn/s/blog_48212cbe0100i03e.html

    http://blog.csdn.net/onlymilan/article/details/4941189

    http://baike.baidu.com/link?url=2PLKUeMDG0oHZF8FXv25O6d_5mBlV-zOitTy1eYalQDY1jkWUEAi9JtKJQsk6CzL-IzGdUbiypfDCzvc4WqbW_

  • 相关阅读:
    [Ramda] Getter and Setter in Ramda & lens
    [Angular2 Router] Index router
    [TypeScript] Using Interfaces to Describe Types in TypeScript
    [RxJS] ReplaySubject with buffer
    [Ramda] Declaratively Map Predicates to Object Properties Using Ramda where
    [Ramda] Pluck & Props: Get the prop(s) from object array
    [Ramda] Complement: Logic opposite function
    [TypeScript] Distinguishing between types of Strings in TypeScript
    [NodeJS] Use Now alias for custom sub-domains
    [CSS3] Create a fixed-fluid-fixed layout using CSS calc()
  • 原文地址:https://www.cnblogs.com/LubinLew/p/Linux_SwapSpace.html
Copyright © 2011-2022 走看看