系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux设置swap交换分区

Linux设置swap交换分区的步骤

时间:2015-06-23 14:58:07 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150623/51275.html 手机查看 评论

  很多人对Linux的swap交换分区不了解,不知道什么是swap交换分区,下面小编将针对什么是swap分区及swap分区的设置给大家做个简单的介绍,想要设置swap分区的朋友不妨来了解下。

Linux设置swap交换分区的步骤

  一、什么是swap分区

  交换区可是看作是内存的一部分,只是它是从硬盘中划分出来的,它像windows下的虚拟内存,它的作用是缓存数据,划分它时,大小设成你的物理内存的大小的两倍。

  二、设置swap交换分区

  交换分区的大小分配推荐法则

  内存小于4GB时,推荐不少于2GB的swap空间;

  内存4GB~16GB,推荐不少于4GB的swap空间;

  内存16GB~64GB,推荐不少于8GB的swap空间;

  内存64GB~256GB,推荐不少于16GB的swap空间。

  1、以root权限登录SSH,键入如下命令创建512M的swap文件(1024 * 512MB = 524288)。

  dd if=/dev/zero of=/swapfile1 bs=1024 count=524288

  2、创建Linux交换文件

  mkswap /swapfile1

  3、立即激活 /swapfile1交换文件

  swapon /swapfile1

  4、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。

  vi /etc/fstab

  /swapfile1 swap swap defaults 0 0

  5、重启系统,使用free -m查看swap大小。

  三、Linux中查看swap的命令

  可以用“cat /proc/swaps”、“swapon -s”、“free”等命令查看Swap分区的情况。

  [root@jay-linux ~]# swapon -s

  Filename Type Size Used Priority

  /dev/sda3 partition 2096120 840 -1

  [root@jay-linux ~]# cat /proc/swaps

  Filename Type Size Used Priority

  /dev/sda3 partition 2096120 840 -1

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

  total used free shared buffers cached

  Mem: 7872 7280 592 0 429 5964

  -/+ buffers/cache: 886 6986

  Swap: 2046 0 2046

  根据上面的例子,我其实该分配4GB的Swap空间,这里演示的是2GB(可能不太符合Redhat的推荐值,因为本机使用内存量并不会太大,几乎没有使用Swap的情况)。

  四、重新划分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 命令查看交换文件是否

  被成功启用。

  五、没有swap交换分区分区的解决办法(用文件替代swap分区)

  文件系统 类型 容量 已用 可用 已用% 挂载点

  /dev/sdb2 ext3 7.6G 555M 6.7G 8% /

  /dev/sda1 ext3 466G 453G 13G 98% /home1

  /dev/sdb7 ext3 4.8G 149M 4.4G 4% /tmp

  /dev/sdb6 ext3 4.8G 1.6G 3.0G 35% /var

  /dev/sdb5 ext3 5.7G 140M 5.3G 3% /swap

  /dev/sdb3 ext3 5.7G 2.1G 3.4G 39% /usr

  /dev/sdb1 ext3 99M 18M 77M 19% /boot

  /dev/sdb8 ext3 437G 175G 262G 41% /home2

  tmpfs tmpfs 2.0G 2.2M 2.0G 1% /dev/shm

  swap交换分区就根本用不了,由于此服务器已经在跑业务了,不能随便停机,更不能重装系统。

  [root@localhost ~]# free -m

  total used free shared buffers cached

  Mem: 3910 3886 23 0 16 1652

  -/ buffers/cache: 2217 1692

  Swap: 0 0 0

  解决方法:

  #制作一个swapfile文件,需要root权限

  su

  dd if=/dev/zero of=/swap/swapfile bs=4096 count=1310720

  #说明:其中bs参数制定每次读取及输入多少个字节。因为硬盘存取的最小单位为扇区,所以设置bs参数就相当于设置每个扇区的大小。我这里设置为4096即4k。参数count则主要是用来设置可以使用扇区的数量。所以这个文件所占用的空间就是以上连个参数的乘积。这里需要注意的是,如果要增加swap文件容量,一般是通过调整count参数来实现的,bs参数一般不动。看到我的/swap分区完全没被使用,有5.3G剩余空间,所有我建立了一个5G的swapfile文件。

  #格式化swapfile,同样需要root权限

  mkswap /swap/swapfile

  #启用swap

  swapon /swap/swapfile

  #不想每次重启后手动启用swap就可以将挂载写入/etc/fstab中 (因为我这个分区比较特殊,分区名称相同,为保险起见,我没写入到fstab里面)

  /swap/swapfile swap swap defaults 0 0

  #用free -m查看一下,swap设定已经生效了:

  [root@localhost ~]# free -m

  total used free shared buffers cached

  Mem: 3910 3885 25 0 21 1639

  -/ buffers/cache: 2224 1686

  Swap: 5119 0 5119

  顺利完成。

  当你实在不需要使用swap交换分区时可以释放掉swapfile

  swapoff /swap/swapfile

  rm -f /swap/swapfile

  上面就是Linux设置swap交换分区的方法介绍了,本文对查看swap分区的命令及swap分区的重新划分也做了一定的讲解,即便你的系统没有swap分区也能通过文件来替代。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录