Linux 的 swap 分区

本贴最后更新于 2008 天前,其中的信息可能已经时移世改

swap 分区的简单介绍

  • Swap 空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 Swap 空间中,等到那些程序要运行时,再从 Swap 中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行 Swap 交换。其实,Swap 的调整对 Linux 服务器,特别是 Web 服务器的性能至关重要。通过调整 Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

  • 例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到 Swap 空间中了,而可以直接将其放到文件里去。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用 malloc 和 new 函数生成的对象的数据则不同,它们需要 Swap 空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。这类数据还包括堆栈中的一些状态和变量数据等。所以说,Swap 空间是“匿名”数据的交换空间。

  • 此外,Swap 分区的数量对性能也有很大的影响。因为 Swap 交换的操作是磁盘 IO 的操作,如果有多个 Swap 交换区,Swap 空间的分配会以轮流的方式操作于所有的 Swap,这样会大大均衡 IO 的负载,加快 Swap 交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。用性能监视工具就会发现,此时的 CPU 并不很忙,而系统却慢。这说明,瓶颈在 IO 上,依靠提高 CPU 的速度是解决不了问题的。

一、Linux 下察看 swap 分区大小的命令

  top
  或者 fdisk -l
  或者 free -m
  SWAP 分区一般大小为物理内存的 2 倍,但最大不超过 2G;

二、增加 swap 分区

  增加 SWAP 空间的方法有两个:增加另外一个 SWAP 分区,或通过创建一个 SWAP 文件来实现。

1.增加一个 SWAP 分区:

  1)创建一个 SWAP 分区: fdisk -l /dev/cciss/c0d0 (m---p ---n --t (将分区格式转换成 82)--w)(如/dev/cciss/c0d0p6)
  2)格式化分区:mkswap -c v1 /dev/cciss/c0d06;
  3)修改/etc/fstab 文件,增加
  /dev/cciss/c0d0p6 swap swap default 0 0
  4)激活 swap 分区:swapon -a /dev/cciss/c0d0p6;
  5) 查看 swap 分区:swapon -s 或 free 或 cat /proc/swaps

2.增加一个 SWAP 文件;

  1)dd if=/dev/zero of=/tmp/tmp.swap bs=1M count =100;( 建立一个 100M 的文件);
  2)mkswap /tmp/tmp.swap; (标识为 SWAP 文件)
  3)swapon /tmp/tmp.swap;(激活 SWAP 文件)
  4)修改/etc/fstab 文件,增加以下内容:
  /tmp/tmp.swap swap swap default 0 0
  5)swapon -s 或 free 或 cat /proc/swaps 查看。

三、删除 SWAP 分区:

  1) swapoff /dev/cciss/c0d0p6;
  2) 修改/etc/fstab 文件。

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    914 引用 • 930 回帖 • 1 关注
  • swap
    2 引用
  • 内存
    11 引用 • 2 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...