在Linux划分SWAP的时候,根据物理内存的大小而定,一般而言,有下面的经验值供参考
1)当物理内存不超过2G的时候将swap划分为物理内存的2倍
2)物理内存超过2G的时候,将swap划分为物理内存的大小
划分swap分区可以如下进行操作:
- #一、查看系统当前的分区情况:
- free -m
- #二、创建用于交换分区的文件:
- dd if=/dev/zero of=/Application/swap bs=4096 count=1572864
- #三、设置交换分区文件:
- mkswap /Application/swap
- #四、立即启用交换分区文件:
- swapon /Application/swap
- #五、若要想使开机时自启用,则需修改文件/etc/fstab中的swap行:
- echo "LABEL=SWAP-sda /Application/swap swap swap defaults 0 0" >> /etc/fstab
- #六、删除swap:
- swapoff /Application/swap
- rm -f /Application/swap
- #七、从fstab移除
- vi /etc/fstab
- 删除对应的行
重新划分swap分区
具体方法如下:
可以先执行一下fdisk -l查看一下设备名称和分区状况
1、执行swapoff swap分区的设备名 关闭交换文件。
2、看到swap的设备名删除原来的swap分区,在新建一个swap分区。可以使用fdisk做此操作
如果对/dev/sda设备进行分区操作:
fdisk /dev/sda
屏幕提示:
Command (m for help):
键入p
屏幕会列出当前所有的分区设备号、大小、文件格式等参数;
下面进行删除分区的操作:
屏幕提示:
Command (m for help):
键入d
屏幕提示:
Partition number (1-x):
x是您现有的分区数量,有两个分区的话x就是2;删除分区时从最后一个分区开始,键入2:
屏幕提示:
Command (m for help):
键入p
列出当前分区情况,发现sda2被删除了;
继续键入d,然后是1,再键入p,发现sda的分区都被删除了;
屏幕提示:
Command (m for help):
键入w
保存当前删除的操作,回到主界面,如果/dev/sdb上也有分区,按照上面的方法删除。
下面进行创建分区的操作:
fdisk /dev/sda
屏幕提示:
Command (m for help):
键入p
此时硬盘上应该没有任何分区;
键入n
屏幕提示:
First cylinder (abcd-efgh, default abcd):
abcd和efgh都是数字,表示新分区起始的 柱面数,直接键入回车即可;
屏幕提示:
Last cylinder or +size or +sizeM or +sizeK (abcd-ijkl, default ijkl):
abcd和 ijkl也都是数字,这里是要求定义分区的大小,如果要建立2G的空间,键入+2000M,如果要将后面所有空间都分出来,直接键入回车即可;注意分区大
小的单位M和K一定要大写!
屏幕提示:
Command (m for help):
键入p
发现已经建立了分区sda1,大小是2G
仿照上面的方法建立更多分区,可以用p查看,最后键入w保存操作。
3、这样重建swap之后,可以使用mkswap /dev/sda[x],其中的[x]代表的是你的第几个分区。
4、激活交换分区 swapon /dev/sda[x]
5、 想要在系统启动时自动激活此交换文件,应该在 /etc/fstab 中加入如下一行:
/dev/sda[x] swap swap defaults 0 0
添加交换文件并启用它后,用 cat /proc/swaps 或 free 命令查看交换文件是否
被成功启用。