当前位置: 首页 > article >正文

DevOps搭建(一)-之swappiness安装详细步骤

1、安装swappiness

yum install procps

修改配置

vim /etc/sysctl.conf
在配置文件中添加参数
vm.swappiness=10

使生效

sysctl -p

如何确认swap分区是否开启

# free -m
              total        used        free      shared  buff/cache   available
Mem:            971         129         678           7         163         668
Swap:          2047           0        2047

#Swap 这一行全都是0 才表示 swpa分区没有开启

swap分区开启怎么关闭

# 关闭所有swap分区
swapoff -a  
# 编辑配置文件防止 开机自启动
vim /etc/fstab   
删除swap相关行 /mnt/swap swap swap defaults 0 0 这一行或者注释掉这一行

# 查看是否成功
free -m
              total        used        free      shared  buff/cache   available
Mem:            971         128         679           7         163         670
Swap:             0           0           0

# 调整 swappiness 参数
 echo 0 > /proc/sys/vm/swappiness # 临时生效

# 永久生效 修改 vm.swappiness 的修改为 0
vim /etc/sysctl.conf 
vm.swappiness=0

# 使配置生效,不需要重启
sysctl -p

如何开启swappiness?

参考文档:

https://www.cnblogs.com/hhsh/p/14123798.html

如将vm.swappiness设定为0,即不使用swap分区,默认云资源都为0

2、开启swappiness

2.1、新建swap分区文件夹

新建一个专门的文件用于swap分区,如下命令,执行时间稍微有点久,耐心等待

dd if=/dev/zero of=/swap bs=1024 count=8388616

注:此文件的大小是count的大小乘以bs大小,上面命令的大小是8GB

通过mkswap命令将上面新建出的文件做成swap分区

mkswap /swap

2.2、修改内核参数vm.swappiness

若vm.swappiness为0,则不启用swap。根据实际需要调整,swappiness参数值可设置范围在0到100之间。 此参数值越低,就会让Linux系统尽量少用swap分区,多用内存;参数值越高就是反过来,使内核更多的去使用swap空间。Ubuntu系统swappiness默认值为60,表示的含义可以这样来理解,当剩余物理内存低于40%(40=100-60)时,开始使用swap分区。CentOS系统此参数的默认值是30。设置为100可能会影响整体性能,如果内存充足,就可以将这个值设置很低,甚至为0,以避免系统进行swap而影响性能。

cat /proc/sys/vm/swappiness   
sysctl -a | grep swappiness    
vim /etc/sysctl.conf
vm.swappiness=30
保存后生效
sysctl -p

2.3、启用此交换分区的交换功能并开机挂载

swapon /swap   
echo "/swap swap swap defaults    0  0" >> /etc/fstab

如果出现以下报错,大体意思是不安全权限0644,建议设置为0600

swapon: /swap: insecure permissions 0644, 0600 suggested.

此时,我们先关闭swap, 再执行设置0600的权限

swapoff /swap
sudo chmod 600 /swap

2.4、重新启动swap

重新启动swap即可

swapon /swap   
echo "/swap swap swap defaults    0  0" >> /etc/fstab

3、查看使用情况

执行以下命令查看使用情况

free -m

如果物理内存使用超过设定的值,比如设置的30则需要物理内存使用超过70%时才会使用swap交换区,则可以看到swap分区情况,如下:


http://www.kler.cn/news/161994.html

相关文章:

  • Java最全面试题专题---1、Java基础知识(2)
  • 11.Java安卓程序设计-基于SSM框架的Android平台健康管理系统的设计与实现
  • 倚天屠龙:Github Copilot vs Cursor
  • 深入探索C语言中的二叉树:数据结构之旅
  • 【动态规划系列】子数组的最大和
  • java对文件夹,文件操作
  • python操作MySQL——封装增删改查
  • WT2605C蓝牙音频语音芯片:具备大功率IO驱动能力,引领音频技术新纪元
  • 循环中存在异步的情况如何让其正常执行?
  • 突破浅水、低流速,中海达iFlow系列智能型ADCP创新“低”!
  • Module build failed : Error : Vue packages version mismatch:
  • C#中的Attributes特性创建和结合反射应用举例
  • 苏宁商家电话采集软件使用教程
  • 生活、工作常用API免费接口
  • python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子
  • 神经网络常用归一化和正则化方法解析(二)
  • axios调接口传参特殊字符丢失的问题(encodeURI 和 encodeURIComponent)
  • 【学习笔记】python仅拷贝list的值,引出浅拷贝与深拷贝
  • 在Python中,*f和**f是用于解包参数的语法
  • linux安装mysql5.7(一遍过)
  • 案例060:基于微信小程序考试系统
  • Java 简易版 UDP 多人聊天室
  • ThinkPHP插件开发实例
  • vue 使用 h函数
  • 区块链optimism主网节点搭建
  • 2024年值得关注的8个未来数据库
  • 什么是https 加密协议?
  • Javaweb之Maven仓库的详细解析
  • RPC 集群,gRPC 广播和组播
  • ELK架构监控MySQL慢日志