新闻资讯
看你所看,想你所想

SWaP(Linux系统中的交换分区)

SWaP(Linux系统中的交换分区)

SWaP(Linux系统中的交换分区)

基本介绍

  • 中文名:交换分区
  • 外文名:SWaP
  • 类似于:Windows的虚拟记忆体
  • 平台:Linux

简介

Linux中Swap(即:交换分区),类似于Windows的虚拟记忆体,就是当记忆体不足的时候,把一部分硬碟空间虚拟成记忆体使用,从而解决记忆体容量不足的情况。Android是基于Linux的作业系统,所以也可以使用Swap分区来提升系统运行效率。
交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在记忆体不够的情况下,作业系统先把记忆体中暂时不用的数据,存到硬碟的交换空间,腾出记忆体来让别的程式运行,和Windows的虚拟记忆体(pagefile.sys)的作用是一样的。

SWAP分区分析

SWAP就是LINUX下的虚拟记忆体分区,它的作用是在物理记忆体使用完之后,将磁碟空间(也就是SWAP分区)虚拟成记忆体来使用。
它和Windows系统的交换档案作用类似,但是它是一段连续的磁碟空间,并且对用户不可见。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的记忆体,但它的速度比物理记忆体可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理记忆体。SWAP分区只是临时的解决办法.
交换分区(swap)的合理值一般在记忆体的2倍左右?
一种流行的、以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是记忆体的两倍。也就是说,如果记忆体是2G,那幺就应该分出4G的硬碟空间作为交换空间。其实这是严重的浪费。真实的情况是:可以根据你系统记忆体的大小,以及所使用的程式,自行决定交换分区的大小,甚至可以完全不用交换分区!
----------------------------------------------------------------------------------------------

查看swap的空间大小

[jonny@localhost~]$free-m
totalusedfreesharedbufferscached
Mem:998977200053
-/+buffers/cache:92275
Swap:201572008
Mem行显示了从系统角度看来记忆体使用的情况,total是系统可用的记忆体大小,数量上等于系统物理记忆体减去核心保留的记忆体。
buffers和cached是系统用做缓冲的记忆体。buffers与某个块设备关联,包含了档案系统元数据,并且跟蹤了块的变化。cache只包含了档案本身。
-/+buffers/cache行则从用户角度显示记忆体信息,可用记忆体从数量上等于mem行used列值减去buffers和cached记忆体的大小。
因为buffers和cached是作业系统为加快系统运行而设定的,当用户需要时,可以只接为用户使用。
Swap行便是系统的swap信息。
在日常套用中,通过上述命令看到交换空间的使用情况为0,那幺你就不需要很大的虚拟记忆体,甚至可以完全不需要另闢硬碟空间作为虚拟记忆体。那幺,万一有一天你需要了呢,难道要重灌系统?大可不必,在Linux下虚拟记忆体不单可以放在单独的交换分区,也可以是一个在正常分区下的交换档案。

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

包括档案和分区的详细信息
#swapon-s
等价于
#cat/proc/swap
[jonny@localhost~]$cat/proc/swaps
FilenameTypeSizeUsedPriority
/dev/sda3partition2064344126768-1
[jonny@localhost~]$swapon-s
FilenameTypeSizeUsedPriority
/dev/sda3partition2064344126768-1

添加交换空间


两种选择:添加一个交换分区或添加一个交换档案。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换档案。
1.添加一个交换分区
步骤如下:
a使用fdisk来创建交换分区(假设/dev/sdb2是创建的交换分区)
b使用mkswap命令来设定交换分区:
#mkswap/dev/sdb2
c启用交换分区:
#swapon/dev/sdb2
d写入/etc/fstab,以便在引导时启用:
/dev/sdb2swapswapdefaults00
2.添加一个交换档案
a创建大小为512M的交换档案:
#ddif=/dev/zeroof=/swapfile1bs=1024kcount=512
b使用mkswap命令来设定交换档案:
#mkswap/swapfile1
c启用交换分区:
#swapon/swapfile1
d写入/etc/fstab,以便在引导时启用:
/swapfile1swapswapdefaults00
新添了交换分区并启用它之后,请查看cat/proc/swaps或free命令的输出来确保交换分区已被启用了。
3.删除交换空间:
a禁用交换分区:
#swapoff/dev/sdb2
b从/etc/fstab中删除项目;
c使用fdisk或yast工具删除分区。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com