Linux中swap交换分区的创建和容量调整的教程

航空母舰   发布时间:2016-04-29 11:54:45   作者:hudeyong926   我要评论
这篇文章主要介绍了Linux系统中swap交换分区的创建和容量调整的教程,同时还讲解了用文件作为Swap分区的方法,需要的朋友可以参考下

我们都知道在安装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系统怎么调整swap分区大小?默认的swap是RAM的2倍,但是有朋友需要将swap分区调大或者调小,其实都很简单,下面分享调整swap分区大小的命令,需要的朋友可以参考下
    2015-12-18
  • 在Linux系统上使用交换文件扩展swap空间的方法

    这篇文章主要介绍了在Linux系统上使用交换文件扩展swap空间的方法,在服务器增加硬盘时可以用到,需要的朋友可以参考下
    2015-10-12
  • linux系统怎么增加swap分区空间小?

    linux系统怎么增加swap分区空间小?准的Linux安装,SWAP分区是内存的两倍大小,如果增加了内存条,那SWAP分区也要增加。 如果增加1G内存,SWAP分区就要增加2G,下面分享设
    2015-08-10
  • 虚拟机增加磁盘空间后SWAP分区不能挂载怎么办?

    虚拟机增加磁盘空间后SWAP分区不能挂载怎么办?解决虚拟机linux增加磁盘空间后SWAP分区不能自动挂载的问题,本文所使用linux为LUBUNTU,不保证适用于其他发行版linux
    2015-05-28
  • Linux下swap耗尽该怎么办?如何释放swap?

    Linux下swap耗尽该怎么办?如何释放swap?Linux下交换内存耗尽如何查看及如何处理。以及查看shell脚本描述。交换内存不足时,启动应用时会报内存不足。下面分享Linux下释放
    2015-04-07
  • Linux删除swap里的指定文件的方法

    因为某些原因而需要删除swap中的某个文件,那么要如何处理呢?下面为大家介绍下Linux下如何删除swap里的某个文件
    2014-12-28
  • Linux如何清理swap、buffer及cache等缓存

    buffer和cache是Linux服务器的缓存,而swap分区占用率过高时会影响系统的时候,所以有必要进行清理,下面与大家分享下如何清理Linux系统中的swap、buffer及cache
    2014-12-19
  • CentOS技巧:减小Linux swap分区的方法

    很不多人都是在虚拟机上玩Linux,这往往就会遇到一个问题,内存不够用,下面我们来看看如何减小Linux swap分区收回空间,需要的朋友可以参考下
    2014-12-01
  • linux清理swap和buffer/cache的方法

    这篇文章主要介绍了linux清理swap和buffer/cache的方法,需要的朋友可以参考下
    2014-08-16
  • linux系统添加swap虚拟内存与删除配置

    Swap分区,即交换区,Swap空间的作用可简单描述为当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用,这篇文章主要介绍了li
    2014-04-02

最新评论