我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?
在装完Linux系统之后,建立Swap分区有两种方法。
1.新建磁盘分区作为swap分区
2.用文件作为swap分区 (操作更简单,我更常用)
下面介绍这两种方法:(都必须用root权限,操作过程应该小心谨慎。)
一、新建磁盘分区作为swap分区
1.以root身份进入控制台(登录系统),输入
# swapoff -a #停止所有的swap分区
2. 用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。
3. # mkswap /dev/sdb2 #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名
4. # swapon /dev/sdb2 #启动新的swap分区
5. 为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行
/dev/sdb2 swap swap defaults 0 0
二、用文件作为Swap分区
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2.格式化为交换分区文件:
# mkswap /root/swapfile #建立swap的文件系统
3.启用交换分区文件:
# swapon /root/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/root/swapfile swap swap defaults 0 0
新建和增加交换分区用到的命令为:mkswap、swapon等,而想关闭掉某个交换分区则用“swapon /dev/sdb2”这样的命令即可
Linux环境下Swap配置方法
场景:
今天下午安装一个CentOS6.5操作系统,忘记配置swap分区。看看如何安装系统之后,增加和删除swap分区。
方法如下:
1.内存占用情况
[root@joshua ~]# free -m
total used free shared buffers cached
Mem: 2006 1886 119 31 33 574
-/+ buffers/cache: 1278 727
Swap: 0 0 0
2.通过dd命令增加swap,增加一个2g的swap空间
[root@joshua ~]# dd if=/dev/zero of=/var/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 36.4509 s, 57.5 MB/s
3.创建swap文件
[root@joshua ~]# mkswap /var/swap
mkswap: /var/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=eba0b718-b5d0-488f-a368-0af288def8b6
[root@joshua ~]# mkswap -f /var/swap
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=5039b019-2db5-41b2-a289-3caf4fdd98bf
[root@joshua ~]#
4.加载该文件:
[root@joshua ~]# swapon /var/swap
5.看看swap是否生效
[root@mysql01 var]# free
6.查看swap当前状态:
[root@joshua ~]# cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 2047996 0 -1
7.添加至/etc/fstab , vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 24 12:21:20 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1ae5f12f-79c1-47d4-bed7-941ab9385396 / ext4 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/var/swap swap swap defaults 0 0
8.如果不再需要swap,可以清理该分区:
[root@joshua ~]# swapoff /var/swap