Linux中创建swap分区

swap分区其实就是将一部分的硬盘化出来充当内存的功能!其速度介于硬盘与内存之间,如果内存不足的话,swap分区能起到不错的作用!这就是为什么要划分swap分区的原因。有同事问LINUX操作系统下如何创建swap分区? 其实不同的操作系统下,比如说RedHat在安装操作系统的过程中,就会有提示创建swap分区,而且swap分区的大小一般为内存的1-2倍为佳。但有的操作系统在安装的时候没有swap分区,必须安装完操作系统之后再配置,Ubuntu,CentOS系统,创建方法也很简单快捷。方法主要有两种:

方式一:通过创建分区的方式来创建

1). fdisk /dev/sdd          # 创建分区、分区ID为82。 其他常用的83:Linux,8e:Linux LVM

2). mkswap /dev/sdd         # 格式化为swap格式,这里假设硬盘分区为/dev/sdd,一般SAS硬盘sd开头

3). swapon /dev/sdd         # 启动并挂载swap分区,这样的话就算创建好了!

备注: 

1. 创建分区,选择分区号为82代表swap分区

1.创建分区
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (641-1566, default 641):
Using default value 641
Last cylinder or +size or +sizeM or +sizeK (641-890, default 890):
Using default value 890
Command (m for help): p
Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           6       48163+  83  Linux
/dev/sda2               7         515     4088542+  83  Linux
/dev/sda3             516        1566     8442157+   5  Extended
/dev/sda5             891        1015     1004031   83  Linux
/dev/sda6            1016        1566     4425876   83  Linux
/dev/sda7             516         640     1004031   83  Linux
/dev/sda8             641         890     2008093+  83  Linux
 
2.指定分区类型为linux swap。这里的/dev/sda5就是我们要做swap的分区。
Command (m for help): t
Partition number (1-8): 5
Hex code (type L to list codes): 82
Command (m for help): p
Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           6       48163+  83  Linux
/dev/sda2               7         515     4088542+  83  Linux
/dev/sda3             516        1566     8442157+   5  Extended
/dev/sda5             516         640     1004031   82  Linux swap
/dev/sda6             641         890     2008093+  83  Linux
/dev/sda7             891        1015     1004031   83  Linux
/dev/sda8            1016        1566     4425876   83  Linux

2. 创建前后内存的变化,注意用free命令观察swap的情况

1. 创建前
# free –m
              total       used       free     shared    buffers     cached
Mem:          1006         84        922          0         11         38
-/+ buffers/cache:         35        971
Swap:            0          0          0

2. 创建后
# free  -m
			  total       used       free     shared    buffers     cached
Mem:          1006        994         12          0          4        929
-/+ buffers/cache:         60        946
Swap:          999          0        999

方式二:通过创建临时文件的方式来创建

1). dd if=/dev/zero of=/tmp/swap bs=100M count=100  # 以dd命令创建swapfile,这里假设1G

2). mkswap /tmp/swap                                # 以mkswap将swapfile格式化为swap格式

3). swapon /tmp/swap                                # 以swapon来启动档案,使之成为swap

备注:

1. 如果要删除该临时性文件

$ swapoff /tmp/swap    # 先用swapoff命令卸载该分区
$ rm -rf /tmp/swap     # 然后再删除就可以了

2. 如果提示不安全的权限 0644,建议使用 0600

$ chmod -R 0600 /tmp/swap

3. 可以通过swaplabel命令来修改该swapfile的label

$ swaplabel /tmp/swap 

4. 如果想一启动就生效,就必须修改/etc/fstab文件

/tmp/swap   swap  swap  defaults  0  0
5. 更改swap配置

Linux 会使用硬盘的一部分做为swap分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成'等待(standby)',甚至'睡眠(sleep)',一旦要用,再调成'活动(active)',睡眠的进程就躺到swap分区睡大觉,把内存空出来让给'活动'的进程。如果内存够大,应当告诉Linux不必太多的使用swap分区, 可以通过修改swappiness的数值。swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。在ubuntu里面,默认设置swappiness这个值等于60。
  
如果内存较小,而进程调度频繁,硬盘的响动就会大了!
  
现在一般1个G的内存可修改为10, 2个G的可改为5, 甚至是0。具体这样做:

1.查看系统里面的swappiness,默认为60
$ cat /proc/sys/vm/swappiness
2.修改swappiness值为10
$ sudo sysctl vm.swappiness=10
3.在sysctl.conf文档的最后加上这样一行:
$ sudo vi /etc/sysctl.conf
vm.swappiness=10
4. 保存后执行source /etc/sysctl,设置就算生效了。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值