导航:首页 > 操作系统 > linux创建swap

linux创建swap

发布时间:2025-06-20 16:48:30

1. linux中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

2. Linux系统怎么调整swap分区大小

在Linux系统中调整swap分区大小,可以按照以下步骤进行:

一、查看当前swap大小

  1. 使用free -m命令查看当前的内存和swap使用情况,以确定是否需要调整swap大小。

二、创建新的swap文件(如果需要增加swap大小)

  1. 确定swap文件大小:根据系统RAM大小,决定swap文件的大小。一般建议是RAM的1到2倍(具体可根据官方建议调整)。
  2. 创建swap文件:使用dd命令创建一个指定大小的swap文件。例如,要创建一个1GB的swap文件,可以执行dd if=/dev/zero of=/mnt/myswap.swp bs=1024MB count=1(假设swap文件存放在/mnt目录下)。如果只是想临时测试,也可以将文件放在/tmp目录下,如dd if=/dev/zero of=/tmp/swap bs=1MB count=1024(创建一个1024MB即1GB的文件)。

三、设置swap文件

  1. 使用mkswap命令将新创建的文件设置为swap分区。例如,mkswap /mnt/myswap.swp或mkswap /tmp/swap。

四、启用新的swap文件

  1. 使用swapon命令启用新的swap文件。例如,swapon /mnt/myswap.swp或swapon /tmp/swap。

五、验证swap大小

  1. 再次使用free -m命令查看内存和swap的使用情况,确认新的swap分区已经生效并且大小正确。

六、关闭不再使用的swap文件(如果需要减小swap大小)

  1. 如果之前已经有一个swap分区或文件,并且现在想要减小swap的总大小,可以关闭不再使用的swap文件。使用swapoff命令关闭指定的swap文件。例如,swapoff /mnt/myswap.swp或swapoff /tmp/swap。

注意事项

阅读全文

与linux创建swap相关的资料

热点内容
单片机开发用的软件 浏览:150
程序员8个算法题 浏览:400
php题库系统 浏览:219
王牌战争文明重启选什么服务器 浏览:652
简述对称加密法 浏览:655
c语言数学编程 浏览:987
F1B命令 浏览:629
cs命令快捷键 浏览:851
阿里云购买服务器如何用现金支付 浏览:688
pythontime等待 浏览:987
单片机串行通信方式 浏览:497
android表格demo 浏览:277
安卓怎么让相册不显示网页 浏览:313
php文件系统源码 浏览:726
易信java 浏览:499
北仑二级压缩螺杆机 浏览:62
加密路线免费入口 浏览:758
计算器程序员是干嘛的 浏览:364
数控编程里fo是啥键 浏览:674
javacdataxml 浏览:962