如何在Linux中创建一个交换文件

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

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

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

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

1
2
3
Filename Type Size Used Priority

/dev/sda3 partition 1004052 0 -1

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

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

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

$ cd /

$ sudo dd if=/dev/zero of=swapfile bs=1M count=3000

将其设置为1GB,(在上面的例子3000)改变计数值为1000,1500等1.5GB

现在更改创建与下面的命令交换文件的文件。

$ sudo mkswap swapfile

打开交换文件的命令,

$ sudo swapon swapfile

为确保交换文件在系统启动时,打开fstab中自动打开。

$ sudo nano etc/fstab

并添加如下行。保存并关闭。

/swapfile none swap sw 0 0

这就对了。你可以,如果系统使用您的命令创建的交换文件检查

$ cat /proc/meminfo

文章目录
|