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

Linux 配置 swap 区

Linux 配置 swap 区

很多时候我们需要配置 swap 主要的原因是物理内存太贵了, 服务器也是一样, 当内存不够用时, 系统会卡死, 因此我们宁愿牺牲一点性能也要让系统正常运行。 当然, 在系统物理内存足够的条件下, 建议关闭 swap, 内存运行速度远大于硬盘, 而 swap 实际上在硬盘上分配一些空间来充当内存的作用。

博主博客

  • https://blog.uso6.com
  • https://blog.csdn.net/dxk539687357

一、建立 swap 区

1.1 创建 swapfile 文件

比如我在 /opt 文件夹创建一个 4G 名称叫 swapfile 的 swap 区。
下面 3 句随便选一句就行。

dd if=/dev/zero of=/opt/swapfile bs=1024 count=4194304
dd if=/dev/zero of=/opt/swapfile bs=1M count=4096
dd if=/dev/zero of=/opt/swapfile bs=1G count=4

1.2 格式化 swapfile 文件

mkswap -f /opt/swapfile

1.3 挂载 swapfile 文件

swapon /opt/swapfile

1.4 查看是否生效

  • free -hfree -m 可以看到内存和 swap 使用情况。
  • swapon -scat /proc/swaps 可以看到大小和位置。
[root@nukixPC ~]# free -htotal        used        free      shared  buff/cache   available
Mem:          1.7Gi       1.0Gi       261Mi        15Mi       515Mi       616Mi
Swap:         5.0Gi       183Mi       4.8Gi[root@nukixPC ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/vda2                              	partition	1047548	187480	-2
/opt/swapfile                              	file    	4194300	0	-3[root@nukixPC ~]# cat /proc/swaps
Filename				Type		Size		Used		Priority
/dev/vda2                               partition	1047548		187480		-2
/opt/swap                               file		4194300		0		-3

1.5 开机启用

添加到 /etc/fstab

vim /etc/fstab

在文本最后添加

/opt/swapfile swap swap defaults 0 0

二、其他相关命令

2.1 卸载 swap

swapoff /opt/swapfile

2.2 即时查看 CPU、内存、swap 使用情况

top

三、swappiness 说明

在 Linux 里面 swappiness 用来控制什么时候才使用 swap 区。
比如 swappiness=60 则 内存使用到 100-60=40% 的时候就会开始使用 swap 区。

  • swappiness=0 使用物理内存, 几乎不使用 swap 区。
  • swappiness=100 使用物理内存的同时积极使用 swap 区。

3.1 查看 swappiness

cat /proc/sys/vm/swappiness

3.2 临时修改 swappiness

sysctl vm.swappiness=60

3.3 永久修改 swappiness

打开文件 /etc/sysctl.conf

vim /etc/sysctl.conf

在文件末尾加上

vm.swappiness=60

立即生效(或者重启生效)

sysctl -p
http://www.lryc.cn/news/266017.html

相关文章:

  • AG16KDDF256 User Manual
  • w15初识php基础
  • powerbuilder Primary! Delete! Filter! 三个缓冲区的作用
  • Confluent 与阿里云将携手拓展亚太市场,提供消息流平台服务
  • 【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
  • 算法基础之01背包问题
  • Git的总体认知与具体实现
  • Hadoop入门学习笔记——三、使用HDFS文件系统
  • JavaWeb—html, css, javascript, dom,xml, tomcatservlet
  • LangChain 31 模块复用Prompt templates 提示词模板
  • 深入理解 Git 分支管理:提升团队协作与开发效率
  • WPF StackPanel
  • 由正规表达式构造DFA,以及DFA的相关化简
  • 模式识别与机器学习(九):Adaboost
  • 【JAVA】分布式链路追踪技术概论
  • ZooKeeper 使用介绍和原理详解
  • 模式识别与机器学习(八):决策树
  • Pinely Round 3 (Div. 1 + Div. 2)(A~D)(有意思的题)
  • 在Linux下探索MinIO存储服务如何远程上传文件
  • 持续集成交付CICD:Linux 部署 Jira 9.12.1
  • Linux命令-查看内存、GC情况及jmap 用法
  • nginx安装letsencrypt证书
  • docker笔记1-安装与基础命令
  • VSCode软件与SCL编程
  • Opencv中的滤波器
  • <JavaEE> 基于 TCP 的 Socket 通信模型
  • [THUPC 2024 初赛] 二进制 (树状数组单点删除+单点查询)(双堆模拟set)
  • 机器学习算法(11)——集成技术(Boosting——梯度提升)
  • 使用GBASE南大通用负载均衡连接池
  • Flink 数据序列化