位置: 编程技术 - 正文

CentOS7上如何添加Swap交换空间(centos7添加ip地址)

编辑:rootadmin

推荐整理分享CentOS7上如何添加Swap交换空间(centos7添加ip地址),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:centos7添加用户,centos7 zsh,centos7添加swap,centos7添加swap,centos7怎么添加用户,centos7怎么添加端口,centos7添加ip地址,centos7怎么添加硬盘,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

如何让服务器响应更快?如何避免应用出现内存不足的错误?最简单的方法就是增加交换空间。Swap是存储盘上的一块自留地,操作系统可以在这里暂存一些内存里放不下的东西。

这从某种程度上相当于增加了服务器的可用内存。虽然从swap读写比内存慢,但总比没有好,算是内存不够时的安全网。

如果没有swap,则服务器一旦内存不足,就会开始终止应用以释放内存,甚至会崩溃,这会让你丢失一些还没来得及保存的数据,或者造成当机。有些应用明确要求系统配置swap以确保数据访问的可靠性。

本文介绍如何在CentOS 7服务器上创建并启用swap文件。

注:swap通常在传统机械硬盘上表现更好,在SSD上使用swap可能会造成问题,尤其是硬件老化之后。所以,对于DigitalOcean以及其他使用基于SSD的云主机服务的用户,我们不推荐启用swap。这甚至会影响到跟你的虚拟机共用宿主机的其他用户。

对于DigitalOcean用户,提升性能的最佳方法就是更新Droplet。通常来说,升级后的主机表现都会有所提升,并且更不容易受到硬件问题的影响。

准备工作

首先,你需要一台CentOS 7服务器,配置过具备sudo权限的非root用户(配置过程可参考这个教程的第一到第四步骤)。

准备就绪后,以该用户名SSH到你的CentOS服务器上,准备安装swap文件。

检查系统的Swap信息

首先我们需要检查系统的存储,看看是否已经配置过swap。一个系统可以设置多个swap文件或分区,不过一般来说一个就够了。

使用swapon命令可以检查系统是否已经配置过swap,这是一个通用的swap工具。使用-s标签可列出当前存储设备上的swap使用情况:

如果该命令没有返回出结果,则代表该系统尚未配置过swap。

或者,我们也可以使用free工具来查看系统的整体内存使用情况,这里可以看到内存和swap的使用状态(显示单位为MB):

这里可以看到我们这个系统的total swap空间为0,即没有配置过swap。这与我们在swapon里看到的结果相符合。

检查可用的存储空间

通常,我们建立一个单独的分区作为swap。然而有时候由于硬件或软件的限制,新建分区的方式无法实现,这种情况下就可以建立一个swap文件来实现同样的功能。

开始之前,先检查一下磁盘的可用空间。输入如下指令:

这里的-h标记是为了告诉dh将信息输出为对人类友好的格式,比如以MB或GB为单位输出空间使用和空余情况,而不是直接输出内存块的个数。

从第一行可以看到我们的存储分区上还有GB的空间剩余,这足够我们操作了。(我这是一台中等规模的新建云主机,每个人的情况可能有很大不同。)

合适的swap空间是多大?关于这个问题有很多种选择,这取决于你的应用需求和你个人的偏好。一般来说,内存容量的两倍就是个不错的起点。

我的系统内存有4GB,如果设置8GB的swap会占据太多空间,所以我决定只设置4GB就好。

创建Swap文件

接下来我们将在文件系统上创建swap文件。我们要在根目录(/)下创建一个名叫swapfile的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。

最快捷的创建方式是fallocate命令,该命令能够创建一个预分配指定大小空间的文件。输入如下指令创建一个4GB的文件:

输入密码后,该swap文件将立即创建完毕。我们可以用ls命令检查文件大小:

至此,我们的swap文件就创建完毕了。

启用Swap文件

现在我们已经有了swap文件,但系统还不知道应该使用该文件作为swap,这就需要我们告知系统将该文件格式化为swap并启用起来。

首先我们需要更改swap文件的权限,确保只有root才可读,否则会有很大的安全隐患。使用chmod命令进行权限操作:

CentOS7上如何添加Swap交换空间(centos7添加ip地址)

如此,该文件的读写都只有root才能操作。使用ls -lh命令检查一下:

然后,使用如下命令告知系统将该文件用于swap:

现在,这个swap文件就可以作为swap空间使用了。输入如下命令开始使用该swap:

我们可以输入如下命令来确认一下设置是否已经生效:

可以看到返回的结果中已经有我们刚才设置的swap。再使用free工具确认一下:

至此,我们的swap已经设置完毕,操作系统会在需要的时候使用它。

使Swap文件永久生效

至此我们已经在系统中启用了swap文件,然而一旦系统重启后,服务器还不能自动启用该文件。要让系统在重启后自动生效swap,我们可以通过修改fstab文件来实现(这是一个管理文件系统和分区的表)。

用sudo权限打开该文件编辑:

在文件末尾加入下面这行内容,告诉操作系统自动使用刚才创建的swap文件:

添加完毕后,保存退出。以后服务器每次重启都会检查该文件并自动启用swap。

更改Swap配置(可选)

有几个涉及swap的选项可能会影响到系统的性能表现。大部分情况下这些选项是可选的,具体要修改成什么样则取决于你的应用需求以及个人偏好。

Swappiness

swappiness参数决定了系统将数据从内存交换到swap空间的频率,数值设置在0到之间,代表系统将数据从内存交换到swap空间的力度。

该数值越接近于0,系统越倾向于不进行swap,仅在必要的时候进行swap操作。由于swap要比内存慢很多,因此减少对swap的依赖意味着更高的系统性能。

该数值越接近于,系统越倾向于多进行swap。有些应用的内存使用习惯更适合于这种情况,这也于服务器的用途有关。

输入如下命令查看当前的swappiness数值:

CentOS 7默认设置了的swappiness,这对于大部分桌面系统和本地服务器是比较中庸的数值。对于VPS系统而言,可能接近于0的值是更加合适的。

使用sysctl命令可以修改swappiness。比如将swappiness设为:

本次修改将一直生效到下次重启前。如果希望永久修改该数值,则需要编辑sysctl配置文件:

将以下内容粘贴到文件末尾:

编辑完成后,保存退出,之后服务器每次重启的时候会将swappiness设置为该值。

缓存压力(Cache Pressure )

另一个可以考虑更改的配置项是vfs_cache_pressure,该配置项涉及特殊文件系统元文件条目的存储。对此类信息的频繁读取是非常消耗性能的,所以延长其在缓存的保存时间可以提升系统的性能。

通过proc文件系统查看缓存压力的当前设定值:

这个数值是比较高的,意味着系统从缓存中移除inode信息的速度比较快。一个保守一些的数值是,使用sysctl命令进行设置:

这条命令仅在重启前有效。要让该设置永久有效,需要编辑sysctl配置文件:

在文件末尾添加如下内容:

保存退出,服务器就会在每次重启后都自动将缓存压力设置为了。

总结

至此,我们的系统内存就获得了一些喘气的空间。有了swap空间可以有效避免一些常见的问题。

如果你仍然会遇到内存不足(OOM,out of memory)的错误信息,或者你的系统不能运行你需要的应用,那么最好的方法是优化你的应用配置或者升级你的服务器,不过配置swap空间也不失为一个灵活的节省方案。

centos7如何添加开机启动服务/脚本 一、添加开机自启服务在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):systemctlenablejenkins.service#设置jenkins服务为自启动服务sysstemc

如何解决centos下root运行Elasticsearch异常 在CentOS6.5上运行Elasticsearch2.3,异常如下:Exceptioninthreadmainjava.lang.RuntimeException:don'trunelasticsearchasroot.atorg.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.jav

CentOS系统下安装转PDF和SWF环境 Centos7安装libreoffice+unoconv+swftools1.设置yum源注:a.已搭建了一套mirror..4.b.CentOS7镜像CentOS-7-x_-Minimal--.isoc.IP地址需要在系统安装过程中设置,

标签: centos7添加ip地址

本文链接地址:https://www.jiuchutong.com/biancheng/353623.html 转载请保留说明!

上一篇:CentOS下如何查询系统信息?(centos如何查询版本号)

下一篇:centos7如何添加开机启动服务/脚本(centos7如何添加永久静态路由)

  • 实缴时间不能超过申请时间怎么办
  • 金蝶可以自动结转成本吗
  • 企业投资收益要交哪些税
  • 总账和总分类账的区别图片
  • 装修公司开劳务费发票可以有材料进项票吗
  • 贴息为什么要付利息呢
  • 工会经费交税会计分录
  • 领料投入生产会计分录
  • 收到借款确认书模板
  • 收入确认和发票的区别
  • 职工教育经费能抵扣进项税
  • 小规模纳税人开专票税率是1%还是3%
  • 财政总预算会计分为三级
  • 工程中材料超耗怎么处理
  • 已报税的发票可以作废吗
  • 以前年度暂估
  • 没有收入能结转损益吗
  • 电子商业汇票背书是什么意思
  • 增值税发票过期未抵扣怎么办
  • 鸿蒙系统怎么升级3.0
  • 怎么用苹果6splus
  • 企业销售应如何做
  • 办公室椅子固定
  • 获取url的参数有哪些方法
  • linux使用范围
  • win10专业版如何关闭系统更新
  • 子公司开票给母公司,冲减利润,怎么避免税务风险
  • windows11自带录屏怎么使用
  • 新车事故报废后保险公司赔多少
  • 应收票据利息会计科目
  • yolov5输出result
  • Laravel 5.5 的自定义验证对象/类示例代码详解
  • php执行sh脚本
  • 以公允价值计量的金融资产不计提损失准备
  • uniapp dom操作
  • threejs怎么用
  • 商业汇票的承兑银行必须具备下列条件
  • 有什么是即征即退税的
  • python cox
  • phpcms文档
  • 提供营业执照范本图片
  • 织梦cms怎么样
  • mysql索引优化的方案
  • 核定征收企业盈利怎么算
  • 生育津贴的支付期限表述不正确的是
  • 合同资产和合同履约成本的区别
  • 资产负债表一般由什么组成
  • 广告公司工程部
  • 固定资产出售通过什么科目
  • 普通进项发票怎么做分录
  • 车辆上牌的费用应付多少?
  • 人力资源外包服务费计入什么科目
  • 个人收到国外汇款后怎么办
  • 应交税费借方余额填列资产负债表
  • 社保个人部分应该做到哪个科目
  • 收到增值税发票后该如何处理啊?
  • 应收帐款收不回来怎么做会计分录
  • 软件测试费用明细
  • 企业的管理人员应该是互补型
  • 发票系统升级后怎样开票
  • 房产税什么时候开始征收2023
  • centos nis
  • centos 7安装桌面
  • msvcmm32.exe - msvcmm32是什么进程 有什么用
  • 通过扣缴义务人申报和综合所得年度自行申报
  • 学习名言警句 励志
  • jquery 图片左右滚动
  • pyinstaller如何用
  • js按下键盘事件
  • 没有实例化是什么意思
  • 2015年5-6月关于Android用户隐私保护的3篇顶级论文【2015.5-2015.6】
  • 超清晰的壁纸
  • jquery1.11.3
  • python 解析算法
  • python如何编程
  • 甘肃省税务申报系统
  • 一般纳税人开增值税专票几个点
  • 浪潮报销软件安装
  • 国税开票二维码图片
  • 误餐费报销管理办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设