交换分区(虚拟内存)

解释:

1、交换分区

当程序需要的内存比电脑上拥有的物理内存还要大的时候,不管是 Windows 也好,Linux 也好,解决办法就是把存不下的东西转移到硬盘上的“虚拟内存”中去,尽管硬盘的速度比内存慢上很多,但是至少容量要大上很多。
另外,操作系统也可以把一些很久不活动的程序转移到虚拟内存中去,留出更多的主内存给需要的程序和磁盘缓冲。
Linux 在安装的时候,一般需要划出一个分区作为 Linux 的“交换分区”,作为虚拟内存内容的保存分区。
swapon -s 这个命令,可以查看当前系统的虚拟内存的情况,这条命令需要 root 来运行

旧的 Linux 内核限制了每个交换分区的大小,大致可达到 124MB,但linux kernels 2.2.x 以上版本取消了该限制。这里是创建和启用一个交换分区的步骤:

使用 fdisk 创建一个适当大小的分区(分区类型82,“Linux swap”)。

格式化分区,检查损坏的区块,例如:mkswap -c /dev/hda4

你要用你自己的分区名字代替 /dev/hda4。因为我没有指定分区大小,系统自动监测。

启用交换分区,例如:swapon /dev/hda4

为了让该交换分区在启动时能自动启用,你得在 /etc/fstab 文件中包含适当的入口,例如/etc/fstab,for example:/dev/hda4 swap swap defaults 0 0

如果你需要禁用该交换分区,你(作为超级用户)使用:swapoff /dev/hda4

2、交换文件

交换文件通常比交换分区慢,所以这不是永久推荐的交换方法。可是,如果你临时需要更多的交换空间,创建一个交换文件能被快速安装。你能有最多可达8个的交换文件,每个文件最大可达16 MB。这里是产生交换文件的步骤:

- 创建一个指明了大小的交换文件:dd if=/dev/zero of=/swapfile bs=1024 count=8192

这物理上创建了交换文件 /swapfile,块大小1024 字节,文件包含8192个块,总大小大约 8MB。dd 命令复制了文件。在以上例子中,输入文件(if)是 /dev/zero,输出文件(of)是/swapfile。你不能使用 cp(copy)命令来复制文件,因为交换文件在硬盘上是物理连续的。

- 用下面的命令设置文件:mkswap /swapfile 8192

- 发出下面命令把缓存区的内容强制写入硬盘:sync

- 启用交换文件用:swapon /swapfile

当你用完交换文件,你关闭并移开它

swapoff /swapfile
rm /swapfile

Linux系统下的交换分区和交换文件的含义 (创建交换分区文件基本文件的swap)

当程序需要的内存比电脑上拥有的物理内存还要大的时候,不管是 Windows 也好,Linux 也好,解决办法就是把存不下的东西转移到硬盘上的“虚拟内存”中去,尽管硬盘的速度比内存慢上很多,但是至少容量要大上很多。

 

另外,操作系统也可以把一些很久不活动的程序转移到虚拟内存中去,留出更多的主内存给需要的程序和磁盘缓冲。

 

Linux 在安装的时候,一般需要划出一个分区作为 Linux 的“交换分区”,作为虚拟内存内容的保存分区。

 

swapon -s 这个命令,可以查看当前系统的虚拟内存的情况,这条命令需要 root 来运行。

 

Filename Type Size Used Priority

/dev/sda3 partition 1004052 0 -1

 

可以看到常常看到当前的交换分区为 /dev/sda3,第 2 栏的 Type 中显示为 partition,说明这是个交换分区,那么,还有其他的 Type 吗?

 

当然,其实 Linux 也可以像 Windows 一样,用交换文件来保存虚拟内存的内容,这样即使你忘记划出交换分区也不要紧,而且灵活性上会更大一些。下面我们看看如何创建交换文件。

 

交换文件和交换分区一样,大小是固定的,比如你想要一个 1G 的交换文件,那么首先要创建一个 1G 的空白文件,我们用 dd 这个工具来完成这个任务:

 

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

 

1048576 就是 1G 用 KB 表示的大小,如果你想要其他大小的文件,更改这个数字即可。

 

上面的命令,会在根目录下创建 swapfile 这个文件,然后,我们需要将它格式化为交换文件的格式:

 

mkswap /swapfile

 

然后把挂载上去,就可以立刻应用这个交换文件了:

 

swapon /swapfile

 

你可以运行 swapon -s 查看一下:

 

Filename Type Size Used Priority

/dev/sda3 partition 1004052 0 -1

/swapfile file 1048486 0 -2

 

多出来了一项,Type 为 file,确实是我们创建的交换文件,系统已经在使用了。

 

如果你想开机的时候自动挂载这个交换文件,那么还要在 /etc/fstab 中加上下面这一句:

 

/swapfile none swap sw 0 0

 

这样就 OK 了。

 

经常有人问,虚拟内存要设多大才合适,是主内存的几点几倍性能最好云云,其实作为一般用途来讲,1~2G 就到顶了,妄想从虚拟内存上提高系统性能,是不可能的,去买内存条才是王道。

 

 

 

网上有很多解释浏览后感觉这几个总结的不错 对交换分区和交换文件的认识又深刻了一些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值