【From】https://blog.csdn.net/lengyue1084/article/details/51405640

【From】https://yuukis.cn/24/

SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。

首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):

free -m


此处可以看到总内存是503M,SWAP不存在。

查看swap信息,包括文件和分区的详细信息

# swapon -s

或者

# cat /proc/swaps

如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。

添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。

一、增加swap交换文件

1、使用dd命令创建一个swap交换文件

dd if=/dev/zero of=/home/swap bs=1024 count=1024000

这样就建立一个/home/swap的分区文件,大小为1G。

2、制作为swap格式文件:

mkswap /home/swap

3、再用swapon命令把这个文件分区挂载swap分区

/sbin/swapon /home/swap

我们用free -m命令看一下,发现已经有交换分区了。

但是重启系统后,swap分区又变成0了。

4、为防止重启后swap分区变成0,要修改/etc/fstab文件

vi /etc/fstab

在文件末尾(最后一行)加上

/home/swap swap swap default 0 0

这样就算重启系统,swap分区还是有值。

删除swap交换文件

1、先停止swap分区

/sbin/swapoff /home/swap

2、删除swap分区文件

rm -rf /home/swap

3、删除自动挂载配置命令

vi /etc/fstab

这行删除

/home/swap swap swap default 0 0

这样就能把手动增加的交换文件删除了。
注意:
1、增加删除swap的操作只能使用root用户来操作。
2、装系统时分配的swap分区貌似删除不了。
3、swap分区一般为内存的2倍,但最大不超过2G

二、使用分区来做SWAP(虚拟内存).

1  使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
2 使用 mkswap 命令来设置交换分区:

# mkswap /dev/sdb2

3 启用交换分区:

# swapon /dev/sdb2

4 写入/etc/fstab,以便在引导时启用:

/dev/sdb2 swap swap defaults 0 0

删除交换分区

步骤如下:
1、先停止swap分区

/sbin/swapoff /dev/sdb2

2、删除自动挂载配置命令

vi /etc/fstab

这行删除

/dev/sdb2 swap swap defaults 0 0

这样就能把手动增加的交换分区删除了。

补充: 

swappniess参数:指为0-100,当越接近为0时,系统将尽可能的不使用swap,除非到物理内存占满。越接近100时为尽可能的使用,以节省物理内存。

检查当前swapness

cat /proc/sys/vm/swappiness

返回一个数字,请参考上面的解释

修改方法:

sysctl vm.swappiness=10

重启后会失效。 设置重启后继续生效: 编辑

vi /etc/sysctl.conf

在文件最后添加

vm.swappiness = 10

保存退出。

[转] Centos 系统swap虚拟内存添加与删除配置的更多相关文章

  1. Centos 系统swap虚拟内存添加与删除配置

    SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...

  2. 利用CentOS系统IPtables防火墙添加网站IP白名单

    参考博文: 利用CentOS系统IPtables防火墙添加360网站卫士节点IP白名单 centos6.5添加白名单如下: 在防火墙 配置文件中加入白名单  ip -A INPUT -s 183.13 ...

  3. centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides "*/vim" 第十节课

    centos  系统软件包管理  yum 本地yum配置  扩展源epel  rpm  清除yum缓存  yum provides "*/vim"   第十节课 你不能保证可逆化操 ...

  4. CentOS系统下Redis安装和自启动配置的步骤

    相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ...

  5. 阿里云centos增加swap(虚拟内存)

    我的阿里云服务器默认是没有配swap交换文件. 创建swap根目录 mkdir /swap 创建swap dd if=/dev/zero of=/swap/swap bs=1024 count=102 ...

  6. centos系统swap设置 查看swap分区的方法

    交换分区swap,意思是“交换”.“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefi ...

  7. CentOS 系统下Gitlab搭建与基本配置 以及代码备份迁移过程

    GitLab 是一个开源的版本管理系统,提供了类似于 GitHub 的源代码浏览,管理缺陷和注释等功能,你可以将代码免费托管到 GitLab.com,而且不限项目数量和成员数.最吸引人的一点是,可以在 ...

  8. CentOS系统 Amoeba+MySql主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!

    废话不说,直接开始: 一.安装mysql的三种方式,这里采用第2种(安装方式不再详解,请参照) http://www.cnblogs.com/babywaa/articles/4837946.html ...

  9. Centos系统下 Gitolite安装与相关配置(git权限控制软件)

     确保已经安装了最新版的git服务Git源码安装 Linux指定安装目录,并且创建了 用户名为git 的账户 修改.gitolite.rc #设置gitolite管理的仓库目录 GL_REPO_BAS ...

随机推荐

  1. win10 家庭版使用注册表关闭windows defender

    管理员身份运行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v " ...

  2. mysql 字符串操作

    -- 字符串的长度 SELECT LENGTH('abc'),LENGTH('我的家'); SELECT CHAR_LENGTH('abc'),CHAR_LENGTH('我的家'); -- 合并字符串 ...

  3. Introducing .NET Standard

    https://blogs.msdn.microsoft.com/dotnet/2016/10/18/the-week-in-net-bond-the-gallery/ .NET Standard s ...

  4. Linux ps 进程状态码

    D            不可中断睡眠(通常进程在进行I/O) R            运行中或者可运行状态(在运行队列中) S            可中断睡眠(等待event,进程idle中) ...

  5. 深入理解java虚拟机(一)虚拟机内存划分

    Java虚拟机在执行Java程序时,会把它管理的内存划分为若干个不同的数据区.这些区域有不同的特性,起不同的作用.它们有各自的创建时间,销毁时间.有的区域随着进程的启动而创建,随着进程结束而销毁,有的 ...

  6. C++对象的virtual table在内存中的布局

    (1)单一继承 (2)多重继承 (3)虚拟继承 参考:<深度探索C++对象模型>

  7. Transaction And Lock--由Lookup导致的死锁情况

    存在这样情况:1.表TB1有一列建立索引2.事务A对表进行更新,先获取对表的X锁以更新基本表中数据,然后对索引申请X锁以更新索引数据.3.事务B对表进行更新,先获取索引上S锁以使用索引进行Loopup ...

  8. Partition--分区切换

    现有数据表[dbo].[staging_TB1_20131018-104722]和分区表[dbo].[TB1],需要将分区表和数据表中做数据交换 CREATE TABLE [dbo].[staging ...

  9. where语句中多条件查询字段NULL与NOT NULL不确定性查询

    SELECT * FROM Table where a.TenantKey=@TenantId AND (@ProjectKeys is null or b.RecuritProjectKey in ...

  10. python的reflect反射方法

    核心内容专自:http://www.liujiangblog.com/course/python/48 在自动化测试的时候,需要从excel中读取关键字,此关键字对应一个方法,如何使用该关键字去调用真 ...