BoomBoss.cn

  • 首页
  • Python
  • Linux
  • 技术文章
  • 示例页面
  • 访问网盘
BoomBoss
无愧于心,不困于情,不念过去,无畏将来
  1. 首页
  2. Linux
  3. 正文

Ubuntu设置swap虚拟内存,突破云服务器瓶颈

2023-11-01 1936点热度 0人点赞 0条评论

前言:Swap是计算机系统中的一种虚拟内存技术,它允许操作系统将内存中不常用的数据暂时存储到硬盘上,以释放内存空间供其他需要的程序使用。对于配置紧张的云服务器,启用swap虚拟内存,可以很大程度的避免由于内存不足导致的系统崩溃或变得不响应。

一、虚拟内存swap(交换空间)简介

物理内存读写数据比硬盘读写数据要快许多,由于内存是有限的,所以就引出了物理内存和虚拟内存。物理内存是系统硬件提供的内存,是真正的内存;虚拟内存是为了满足物理内存不足时而提出的策略,他是利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(swap space)。

作为物理内存的扩展,linux会在物理内存不足时使用交换空间,内核会将暂时不用的内存块信息写到交换空间,这样物理内存就得到了释放,当需要用到原始信息时会重新从交换空间读入到物理内存中。

二、创建swap分区

1、查看swap分区

根据 free -h命令查看swap是否有创建

如上图所示,swap 行显示为 0,代表服务器未启用swap

2、使用dd命令创建一个swap分区

dd if=/dev/zero of=/home/swap bs=1M count=4096
参数含义
ifif=文件名:输入文件名,默认为标准输入。即指定源文件
ofof=文件名:输出文件名,默认为标准输出。即指定目的文件
bs同时设置读入/输出的块大小为bytes个字节
count仅拷贝blocks个块,块大小等于bs指定的字节数
详细可参考 Linux dd 命令 | 菜鸟教程

3、格式化分区文件,激活swap

# 格式化分区文件
mkswap /home/swap

# swapon 命令启用swap
swapon /home/swap

4、查看设置是否生效

使用 free -h 命令查看

如上图所示,已经成功启用swap虚拟内存了,大小为 4.0g

5、配置使其永久生效

进入/etc/fstab 添加下面这一行设置

/home/swap swap swap default 0 0

fstab是"file systems table"的缩写,它定义了系统启动时要挂载的文件系统以及挂载选项

创建一个systemd服务单元来确保服务器重启后swap依然生效

sudo vim /etc/systemd/system/myswap.service

在文件中添加以下内容:

[Unit]
Description=Enable swapfile on startup
After=network.target

[Service]
ExecStart=swapon /home/swap

[Install]
WantedBy=default.target

保存并关闭文件。然后,重新加载systemd服务并启用它:

sudo systemctl daemon-reload
sudo systemctl enable myswap

三、配置swap参数

调整 vm.swappiness 参数,这个参数控制内核在何时会启用虚拟内存,当swappiness = 100时,内核会最大限度的使用swap分区,设置为 20 时,内核会在内存使用率达到 100 - 20 = 80%时启用虚拟内存

查看swappiness 参数值:

cat /proc/sys/vm/swappiness

临时调整:

sysctl vm.swappiness = 20

永久调整:

vi /etc/sysctl.conf

找到 vm.swappiness 项,没有则手动创建,并修改为对应的值

保存配置以生效

sysctl -p
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023-11-06

BoomBoss

选择大于努力,成功绝非偶然

打赏 点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

归档

  • 2024 年 7 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2022 年 12 月

分类

  • Linux
  • Python
  • 技术文章
  • 网站搭建

Copyright © 2022 BoomBoss.cn. All Rights Reserved.

Theme Kratos Made By Seaton Jiang

赣ICP备2021010953号