Linux解决内存不足-添加SWAP交换分区

Swap 是 Linux 下的交换分区,类似 Windows 的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入 Swap,解决物理内存不足的情况。但是如果开始使用 SWAP 的时候系统通常都会变得十分缓慢,因为硬盘 IO 占用的十分厉害,除非是 SSD 的情况下,速度才有可能稍微快一点。

下面是创建使用 SWAP 的方法:

一、创建文件

dd if=/dev/zero of=/swapfile bs=1024 count=1024000

SSH 执行以上命令,创建一个名为 swapfile 的 1G 空文件(写 0 占用磁盘)。

二、制作为 Swap 文件 

mkswap /swapfile

SSH 执行以上命令,将生成的 swapfile 制作为 SWAP 文件,若没有制作 SWAP 文件,执行下一步可能会出现:“swapon: vpppscom: read swap header failed: Invalid argument” 错误。

三、让 Swap 文件生效

swapon /swapfile

SSH 执行以上命令,使 “swapfile” 这个 Swap 文件生效,并叠加进当前 sawp 空间中。

四、查看当前 SWAP

swapon -s

SSH 执行以上命令,查看当前 swap 的情况。

五、自动挂载

1、编辑/etc/fstab

vi /etc/fstab

2、按格式填入

/swapfile swap    swap    defaults      0    0

按格式填入以上信息:

/dev/vda1 / ext3 noatime,acl,user_xattr 1 1
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/swapfile swap swap defaults 0 0

至此未出现任何错误,那么 SWAP 就创建好了,使用 free -m命令就可以看到了。

下面是销毁停用 SWAP 的方法:

1、先停止 swap 分区

/sbin/swapoff /swapfile

2、删除 swap 分区文件

rm -rf /swapfile

3、修改 /etc/fstab文件,把

/swapfile swap swap defaults 0 0

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

PS:

1、增加删除 swap 的操作只能使用 root 用户来操作。

2、装系统时分配的 swap 分区貌似删除不了。

3、swap 分区一般为内存的 2 倍,但最大不超过 2G

4、还有尽量不让过早占用 SWAP 可以设置 vm.swappiness 值到 0,这样就不会过早的占用 SWAP 影响 IO

编辑

/etc/sysctl.conf

加入

vm.swappiness=0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

MYSQL影响性能的主要参数

公共参数 max_connections = 151 #同时处理最大连接数,推荐设置最大连接数是上限连接数的80%左右 sort_buffer_size = 2...

33850
来自专栏小特工作室

Navi.Soft31.代码生成器(含下载地址)

1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

22180
来自专栏吴伟祥

分布式锁的几种实现方式~ 转

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一...

42210
来自专栏Linyb极客之路

mysql数据库31个常见错误分析以及解决办法

翻译:不能连接到localhost 上的mysql?分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。?需要启动这台机器上...

24620
来自专栏小特工作室

Navi.Soft31.代码生成器(含下载地址)

1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

23990
来自专栏北京马哥教育

SQLite这么娇小可爱,不多了解点都不行啊

简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数...

38680
来自专栏跟着阿笨一起玩NET

SQL基础之 时间戳

本文转载:http://www.cnblogs.com/liuhh/archive/2011/05/14/2046544.html

83210
来自专栏北京马哥教育

MySQL 数据库上线后根据 status 状态优化

马哥linux运维 | 最专业的linux培训机构 ---- 网上有很多的文章教怎么配置mysql服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文...

33160
来自专栏码神联盟

数据库 | MYSQL 中的视图view详解

序本文目录 什么是视图 视图的特性 视图的作用 视图使用场景 视图示例1-创建、查询 视图示例2-增、删、改 其它 1什么是视图 视图是一个虚拟表,其内容由查询...

478110
来自专栏PHP在线

mysql 性能优化方案 (转)

网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频...

43660

扫码关注云+社区

领取腾讯云代金券