一.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. 第三百一十二节,Django框架,Cookie

    第三百一十二节,Django框架,Cookie 注意:获取Cookie是在请求对象里处理,设置Cookie是在响应对象里处理 普通Cookieset_cookie()设置普通cookie 参数: ke ...

  2. e685. 显示页面格式窗口

    The page format dialog allows the user to change the default page format values such as the orientat ...

  3. CentOS7服务器搭建百度贴吧云签到

    由无名智者开发的“百度贴吧云签到”应用是一个每天自动对百度贴吧定时进行云签到的程序.前面准备,已经有安装过mysql的linux服务器.mysql的安装在此不做介绍. 一.安装Apache yum i ...

  4. Webpack vs Gulp(转载)

    理想的前端开发流程 在说构建工具之前得先说说咱期望的前端开发流程是怎样的? 写业务逻辑代码(例如 es6,scss,pug 等) 处理成浏览器认识的(js,css,html) 浏览器自动刷新看到效果 ...

  5. Docker 集群管理

    docker systemd unit file [Unit] Description=Docker Application Container Engine Documentation=http:/ ...

  6. 安装JDK出现问题 Error opening registry key'software\Javasoft\Java Runtime Environment'

    第一次安装JDK测试是否安装成功,打开cmd输入java -version 回车的时候出现如下错误: Error opening registry key'software\Javasoft\Java ...

  7. Animy.js,自己编写的功能丰富的html动画库

    近期由于项目须要.本人制作了一款js的动画插件.能够用于完毕各种js动画.比方移动.拉升.变色等等,全部动画经常使用的功能都已经实现,比方播放.暂停.停止.循环.加速.减速.反向播放.缓动.路径动画. ...

  8. HDU 2594 Simpsons’ Hidden Talents (KMP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594 这题直接用KMP算法就能够做出来,只是我还尝试了用扩展的kmp,这题用扩展的KMP效率没那么高. ...

  9. INSERT INTO 语句

    语法 INSERT INTO 表名称 VALUES (值1, 值2,....) 我们也可以指定所要插入数据的列: INSERT INTO table_name (列1, 列2,...) VALUES ...

  10. Runtime 中的 _cmd、 IMP

    IMP IMP-指向实际执行函数体的函数指针 #if !OBJC_OLD_DISPATCH_PROTOTYPES typedef void (*IMP)(void /* id, SEL, ... */ ...