文档章节

Linux新建和增加Swap分区[尝试文件方式可行]

Airship
 Airship
发布于 02/24 09:54
字数 880
阅读 3
收藏 0

以前做过增加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分区

1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。

此处的进制应为1000,count应为1000,表示1GB?

# 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等,而想关闭掉某个交换分区则用“swapoff /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

本文参考如下链接:

http://hancj.blog.51cto.com/89070/197915

Related posts:

  1. 交换分区(SWAP)的大小分配
  2. (KVM连载)4.2.4 内存过载使用(overcommit)
  3. 更新Linux内核头文件(linux headers)
  4. Linux kernel启动参数

本文转载自:http://smilejay.com/2012/09/new-or-add-swap/

共有 人打赏支持
Airship
粉丝 37
博文 874
码字总数 18996
作品 0
南京
高级程序员
新手玩Linux ---- 从Linux From Scratch开始学习linux(二)

好多新手朋友不明白Linux的分区是怎么回事,看书有时候看的一头雾水,新手么现在了解的那么复杂了反而会打击大家的学习积极性,所以大家先简单了解下就可以了,复杂的后边会慢慢在应用的时候...

赵臣
2011/08/27
0
0
Linux 增加交换分区

Linux下增加交互分区(swap)主要有两种方法:一种是swap分区;另一种是 swap文件。前者适合有空间的分区可以使用;后者适合没有空的磁盘分区,硬盘的空间已经分配完毕了。 最近安装CentOS ...

科技小能手
2017/11/12
0
0
图解Ubuntu手动分区方法【转】

如果你只是简单地想用上Ubuntu,可以这样操作: 1)如果你是直接将整个硬盘都用来装Ubuntu,机器上没有需要保存的数据,或者已经做好备份的情况下,可以直接在Ubuntu分区时选择“向导──整个...

李勋
2010/06/09
0
0
linux添加swap分区的方法

本文摘自:http://www.cnblogs.com/dadonggg/p/7844230.html 一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释...

蓝叶子Sheep
2017/11/21
0
0
zabbix提示swap space不足的解决方法

之前zabbix一直提示xx机器swap空间不足,也没去管它,最近觉得还是处理一下比较好; 首先了解下什么是swap分区: Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时...

邱野
06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
1
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
14
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
1
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
1
0
大数据学习脑图以及入门教程!

近些年,大数据的火热可谓是技术人都知道啊,很多人呢,也想学习大数据相关,所以,这里分享几个大数据脑图,希望可以让你清楚明白从哪里入门大数据,知道该学习以及掌握哪些知识点; 大数据...

董黎明
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部