手机
当前位置:查字典教程网 >操作系统 >unix linux >Linux中swap交换分区的创建和容量调整的教程
Linux中swap交换分区的创建和容量调整的教程
摘要:我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?在装完Linux系统之后...

我们都知道在安装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分区大小

有的时候,我们要增加swap的大来,例如,安装oracle。下面说一下如何来增加交换分区的大小。

root@ubuntu:/home/zhangying# free -m

total used free shared buffers cached

Mem: 3449 3256 193 0 723 1687

-/+ buffers/cache: 845 2604

Swap: 254 0 254

root@ubuntu:/home/zhangying# mkdir swap

root@ubuntu:/home/zhangying# cd swap/

root@ubuntu:/home/zhangying/swap# dd if=/dev/zero of=swaptmp bs=9024 count=100000

记录了100000+0 的读入

记录了100000+0 的写出

902400000字节(902 MB)已复制,12.5008 秒,72.2 MB/秒

root@ubuntu:/home/zhangying/swap# mkswap swaptmp

mkswap: swaptmp: warning: don't erase bootbits sectors

on whole disk. Use -f to force.

Setting up swapspace version 1, size = 881244 KiB

no label, UUID=ed24d0cc-3af5-4278-b41a-df1ab7433f83

root@ubuntu:/home/zhangying/swap# swapon swaptmp

root@ubuntu:/home/zhangying/swap# free -m

total used free shared buffers cached

Mem: 3449 3359 90 0 637 1930

-/+ buffers/cache: 791 2657

Swap: 1115 0 1115

这种只是临时的,如果重起电脑的话,交换分区的大小还是还原成原来的,如果不重起想还原成原来的,看下面的方法。

root@ubuntu:/home/zhangying/swap# swapoff swaptmp

root@ubuntu:/home/zhangying/swap# rm swaptmp

root@ubuntu:/home/zhangying/swap# free -m

total used free shared buffers cached

Mem: 3449 3368 81 0 732 1895

-/+ buffers/cache: 739 2710

Swap: 254 6 248

还有一种情况是这种临时的swap,变成非临时的。

nano /etc/fstab

/home/zhangying/swap/swaptmp swap swap defaults 0 0

注释:这种启动的时候自动加载,根加载windows下的硬盘是一样的,如果swaptmp文件丢失,也无法增加swap的大小。

三、用文件作为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”这样的命令即可。

下面的操作命令演示了用文件作为Swap的操作过程(包括前后的一些检查)。

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3179 800 0 266 1873

-/+ buffers/cache: 1039 2940

Swap: 4095 0 4095

[root@jay-linux ~]# cat /etc/fstab

# 已省略与主题无关的部分输出

/dev/sda3 swap swap defaults 0 0

[root@jay-linux ~]# dd if=/dev/zero of=/root/swapfile bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 4.09017 s, 263 MB/s

[root@jay-linux ~]# mkswap /root/swapfile

Setting up swapspace version 1, size = 1048572 KiB

no label, UUID=48a7ffd5-392f-4963-904c-3e67f0e5dfbe

[root@jay-linux ~]# swapon /root/swapfile

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2628

-/+ buffers/cache: 1054 2924

Swap: 5119 0 5119

[root@jay-linux ~]# swapoff /dev/sda3

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2629

-/+ buffers/cache: 1053 2925

Swap: 1023 0 1023

[root@jay-linux ~]# swapoff /root/swapfile

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2629

-/+ buffers/cache: 1053 2926

Swap: 0 0 0

[root@jay-linux ~]# swapon /dev/sda3

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3946 33 0 261 2629

-/+ buffers/cache: 1054 2924

Swap: 4095 0 4095

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3179 800 0 266 1873

-/+ buffers/cache: 1039 2940

Swap: 4095 0 4095

[root@jay-linux ~]# cat /etc/fstab

# 已省略与主题无关的部分输出

/dev/sda3 swap swap defaults 0 0

[root@jay-linux ~]# dd if=/dev/zero of=/root/swapfile bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 4.09017 s, 263 MB/s

[root@jay-linux ~]# mkswap /root/swapfile

Setting up swapspace version 1, size = 1048572 KiB

no label, UUID=48a7ffd5-392f-4963-904c-3e67f0e5dfbe

[root@jay-linux ~]# swapon /root/swapfile

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2628

-/+ buffers/cache: 1054 2924

Swap: 5119 0 5119

[root@jay-linux ~]# swapoff /dev/sda3

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2629

-/+ buffers/cache: 1053 2925

Swap: 1023 0 1023

[root@jay-linux ~]# swapoff /root/swapfile

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3945 34 0 261 2629

-/+ buffers/cache: 1053 2926

Swap: 0 0 0

[root@jay-linux ~]# swapon /dev/sda3

[root@jay-linux ~]# free -m

total used free shared buffers cached

Mem: 3979 3946 33 0 261 2629

-/+ buffers/cache: 1054 2924

Swap: 4095 0 4095

【Linux中swap交换分区的创建和容量调整的教程】相关文章:

linux backtrak无线配置教程

Linux系统中cat命令使用的实例教程

linux下Samba服务和NFS服务配置的方法

linux中的常用命令小结

SYN Cookie在Linux内核中的实现

Linux下挂载硬盘分区的几种方法

Linux下虚拟域名的实现(2)

Linux不完全手册(一)

Linux中编译安装Subversion(SVN)客户端的教程

Linux下的压缩文件剖析

精品推荐
分类导航