一.swap交换分区

Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

用于当物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。其类似Windows的pagesfile.sys.

  二.swap分区大小

分区时一般设定:swap分区的大小=1.5*物理内存容量。当内存比较小的时候(8G或8G以下),可以为内存的1.5-2倍(因为内存小的时候,内存很容易被充满,这个时候就要把交换分区分大点)。

正常情况下,当内存充足的时候,swap分区是不会被使用的,因此,一旦发生内存充足时,而swap使用了很多,说明应用程序等进程有内存泄露,此时就要和开发程序人员一起来分析哪里内存泄露,当系统使用swap分区用的越多,系统性能反而会下降,某些大型数据库也可能不使用swap分区,也是可以考虑的,不过,这也会带来内存耗尽,服务直接挂掉的风险。而swap是内存不够时的一个缓冲地带。虽然慢,服务器不会挂掉,这点就仁者见仁了。

    三.linux中增加swap分区文件的步骤方法:

1、检查当前的分区情况(使用free -m或cat /proc/swaps ):

[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#

2、增加交换分区文件及大小:
检查没有swap,下面就需要增加:
判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。  

[root@iZ2zee7gmybverl53rfZ ~]# dd if=/dev/zero of=/var/swap bs= count=
+ records in
+ records out
bytes (1.0 GB) copied, 27.1894 s, 38.6 MB/s
[root@iZ2zee7gmybverl53rfZ ~]# ll /var/swap
-rw-r--r-- root root Nov : /var/swap
[root@iZ2zee7gmy40tbverl53rfZ ~]# ll -h /var/swap
-rw-r--r-- root root 1000M Nov : /var/swap

3.使用以下命令来设置交换文件:

[root@iZ2zee7gmybverl53rfZ ~]# mkswap /var/swap
mkswap: /var/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version , size = KiB
no label, UUID=fe9d1189-aaa7--a056-5126ee051632
[root@iZ2zee7gmy40tbverl53rfZ ~]#

4.启用交换分区文件:
要立即启用交换文件而不是在引导时自动启用,使用以下命令:
 [root@db2 root]# swapon /var/swap

检查增加后的交换情况:

[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#

5.加入开机挂载

要在引导时启用,编辑 /etc/fstab 文件来包含以下行(/var/swap               swap                    swap    defaults        0 0 ):

[root@iZ2zee7gmybverl53rfZ ~]# cp /etc/fstab /etc/fstab.bak    ###操作挂载文件时,一定要备份,否则修改失败时,会造成不能开机的危险。

[root@iZ2zee7gmy40tbverl53rfZ ~]# ll /etc/fstab*                ###备份完毕后,检查是否备份成功
-rw-r--r-- 1 root root 693 Nov 16 14:28 /etc/fstab
-rw-r--r-- 1 root root 617 Nov 16 14:27 /etc/fstab.bak

[root@iZ2zee7gmybverl53rfZ ~]# cat /etc/fstab                  ##            修改完挂载文件后查看

#
# /etc/fstab
# Created by anaconda on Thu Feb ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
UUID=3d083579-f5d9-4df5--8d27925805d4 / ext4 defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
/var/swap swap swap defaults
[root@iZ2zee7gmybverl53rfZ ~]#

系统下次引导时,它就会启用新建的交换文件   。       
再次检查添加后的情况:

[root@iZ2zee7gmybverl53rfZ ~]# free -m
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
[root@iZ2zee7gmybverl53rfZ ~]#

linux中增加swap分区文件的步骤方法的更多相关文章

  1. 树莓派进阶之路 (027) - 在Linux中增加swap空间

    原贴地址:http://blog.csdn.net/chinalinuxzend/article/details/1759593  在Linux中增加swap空间 在安装Linux的时候,不知道swa ...

  2. 在Linux中增加swap空间

    转自: http://blog.csdn.net/chinalinuxzend/article/details/1759593 在Linux中增加swap空间 在安装Linux的时候,不知道swap空 ...

  3. linux下增加swap分区

    Swap交换分区概念 什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料: Linux divides its physical RAM ...

  4. Linux中对swap分区的配置

    swap分区的安装与正常分区的安装大致相同,我这里就只说一下不同 大家可先看我上一篇的安装:https://www.cnblogs.com/feiquan/p/9219447.html 1.查看swa ...

  5. 在OpenStack虚拟机实例中创建swap分区的一种方法

    测试组里一个同学负责MapR的搭建,MapR文档中建议每个节点上至少有24GB的swap分区,不知道MapR为啥会有这种反人类的建议……swap无非就是一块顺序读写的磁盘空间,莫非省着内存不用,用sw ...

  6. Linux中增加软路由的两种方法/删除的方法

    第一种:   route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0   route del gw 172.1 ...

  7. Linux中的SWAP交换分区

    大多数 Linux 在系统安装时都会提醒并建议你划分一个 SWAP 交换分区,如果你是从 Windows 切换到 Linux 的新用户,兴许对这个 SWAP 会感到十分疑惑. SWAP 交换分区到底是 ...

  8. LINUX新建和增加SWAP分区

    我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢? 在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swa ...

  9. Linux增加swap分区的方法

    在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swap分区2.用文件作为swap分区 (操作更简单,我更常用) 一.新建磁盘分区作为swap分区 1. # swapoff ...

随机推荐

  1. Java 经典问题

    九种基本类型及封装类 基本类型 boolean byte char short int long double void 二进制位数 1 8(一字节) 16(2字节) 16(2字节) 32(4字节) ...

  2. 编译 boost 库(win7+boost1.60+vs2008)

    参见:http://blog.csdn.net/u013074465/article/details/42532527 下载boost安装包 https://sourceforge.net/proje ...

  3. mongodb select php操作 命令行操作

    下面说一下,mongodb select的常用操作 测试数据 { "_id" : 1, "title" : "红楼梦", "aut ...

  4. asp.net DropDownList实现二级联动效果

    1.在aspx页面中,拖入两个DroDownList控件,代码如下: <div>   <asp:DropDownList ID="s1" runat=" ...

  5. mysql在命令行中,指定要连接的数据库?

    需求描述: mysql客户端,可以在登录到mysql数据库时,指定要连接到哪个数据库 这里进行一个测试. 测试过程: 1.mysql通过-D参数指定连接到test数据库 [mysql@redhat6 ...

  6. webpack2.0简单配置教程

    以前习惯用gulp+less来开发项目,由于公司项目用的vue开发的,所以学下webpack这个打包工具.以下是我学习时的笔记,希望给在webpack配置过程中遇到麻烦的朋友一丝帮助. 目前只配置了s ...

  7. swift--使用UserDefaults来进行本地数据存储

    UserDefaults适合轻量级的本地客户端存储,存储一个值,新值可以覆盖旧值,可以重复存储,也可以存储一次,然后直接从UserDefaults里面读取上次存储的信息,很方便,用的时候,宏定义下,直 ...

  8. swift - UISlider 的用法

    swift的UISlider的用法和oc基本没有区别 1.创建 class SecondViewController: UIViewController { var slider = UISlider ...

  9. kafka中配置细节

    今天遇到kafka发送消息的时候,一直报Kafka“Failed to send messages after 3 tries”错误,根据网上找问题,修改各种配置参数,各种重启,还是解决不了问题. 郁 ...

  10. [转载]SQL truncate 、delete与drop区别

    相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. t ...