CentOS7下swap分区创建(添加),删除以及相关配置
小叨下背景:笔者的服务器内存只有1g,少得可怜。之前使用apache,不堪忍受其过量的内存消耗,网站卡得想哭,数据库也不断地崩,无奈投入nginx的怀抱并且已经喜欢上了nginx,具体请看上文《CentOS7部署轻量级web服务器nginx+php》。
然而过了几个月后数据库还是继续崩,经查询mysql日志还是因为内存吃不消,折腾几番发现mysql自身就不是省油的灯,一度占用了500M的内存------我捂住嘴巴不让自己哭出来,还顺便来了段Bbox。我们怎么办?我也很绝望啊!总不能不用数据库吧...
这两天我那谁一直在折腾RedHat安装Oracle数据,该数据库有一项要求就是需要一定空间的swap分区。虽然早有耳闻swap分区,而且笔者经常折腾windows下的虚拟内存(swap和虚拟内存是类似概念),却很惭愧一直没想到这个办法,于是------进入今天的主题:
在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用:
了解硬盘使用情况(一般/dev/vda1为挂载硬盘):
1.添加swap分区
使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意):
或
科普:if(即输入文件,input file),of(即输出文件,output file)。dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。 bs=1024 :单位数据块(block)同时读入/输出的块字节大小为1024 个字节即1KB,bs(即block size)。count=2048000 :数据块(block)数量为2048000 ,即2048000个1KB。可以计算swap分区的容量为:1KB *2097152=1KB *1024(k)*1024*2=2097152=2G。(dd命令里的单位M表示1024*1024,k表示1024)。
回车后,会执行2g的读写操作,系统会卡一段时间,耐心等待执行结果。
执行完毕,对交换文件格式化并转换为swap分区:
挂载并激活分区:
执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下权限:
这时候可以用 free –h 或 swapon –s命令查看新swap分区是否正常添加并激活使用。
修改 fstab 配置,设置开机自动挂载该分区:
在fstab文件末尾追加如下内容后:wq!保存即可:
/var/swapfile swap swap defaults 0 0
或直接对fstab进行echo追加:
2.删除某swap分区
先停止正在使用swap分区:
删除swap分区文件
删除或注释掉我们之前在fstab文件里追加的开机自动挂载配置内容:
/var/swapfile swap swap defaults 0 0
3.更改Swap配置(进阶级)
swappiness值(0-100),系统对swap分区的依赖程度,越高则越倾向于使用swap分区。
当然,高度依赖swap会造成物理内存远未使用完,就使用swap分区,我们知道swap分区性能远不如物理内存,这反而降低了系统性能,违背了我们创建swap分区的初衷。
我们希望在物理内存即将满荷时再使用swap,这就决定了swappiness值一般为10-60为宜,固态硬盘可以偏高些。
查看当前的swappiness数值:
修改swappiness值,这里以50为例。
若希望vm.swappiness=50永久生效,则需要修改sysctl配置文件,直接echo追加配置内容,重启系统后即可生效:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LINUX中常用操作命令
常用指令 sudo su切换root用户 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录 touch 创建空文件 echo 创建带有内容的文件。 cat 查看文件内容 【cat>xxx.txt 回车 内容 回车 Ctrl+d保存,退出】 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除 find 在文件系统中搜索某文件 wc 统计文本中行数、字数、字符数 grep 在文本文件中查找某个字符串 rmdir 删除空目录 tree 树形结构显示目录,需要安装tree包 pwd 显示当前目录名 ln 创建链接文件 more、l...
- 下一篇
linux文件搜索命令
文件搜索命令locate:搜索快,新建文件无法搜索; 命令格式:locate文件名//在后台数据库中按文件名搜索,搜索速度快; /var/lib/mlocate : locate命令所搜索的后台数据库 命令:updatedb// 更新数据库,默认是一天自动更新; 一 安装 linux中locate查找命名依赖updatedb的协助, 安装updatedb命令需要使用mlocate包 yum install mlocate mac上默认会有mdfind命令来替代locate命令 二定时执行 在/etc/crontab中增加 50 6 * * * updatedb /etc/updatedb.conf 配置文件中: 1.PRUNE_BIND_MOUNTS = “yes” 开启搜索限制 2.PRINEFS = 搜索时,不搜索的文件系统; 3.PRUNEFNAMES = 搜索时,不搜索的文件类型; 4.PRUNEFATHS = 搜索时,不搜索的路径; 命令的搜索命令: 命令格式:whereis文件名 //搜索命令所在的路径和帮助文档所在位置; 选项: -b: 只查找可执行文件 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启