前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux服务器创建和删除Swap交换分区

Linux服务器创建和删除Swap交换分区

原创
作者头像
忆夕旧梦
发布2023-12-28 12:08:14
3280
发布2023-12-28 12:08:14
举报
文章被收录于专栏:夕梦夕梦

需求

最近有项目需要用到 Mysql8.0 ,但是腾讯云轻量服务器的4G内存,实际可用只有3600多M,在编译安装 Mysql8.0 的时候会 Kill 掉安装进程,导致安装失败。

所以就需要给 Linux 服务器添加 Swap 交换分区(就相当于 Windows 的虚拟内存),来保证能够成功编译安装 Mysql8.0,需要注意的是,使用 Swap 交换分区会比较吃磁盘的性能,如果磁盘性能不够好,可能会对服务器的性能产生负面影响

这里使用的系统是 Centos7.9 其他系统请自行测试

关于 swap 空间的大小

很多老的教程都说 swap 空间要设置到自己物理内存的1.5~2倍

但是看到Redhat官方的文档中的建议,感觉更合理

物理内存

建议的交换空间大小

4G

内存的2倍,不超过4G

4G~8G

等于物理内存大小

8G~64G

设置为8G

创建 swap 空间,会占用磁盘空间,请注意自己的磁盘的剩余空间

查看当前系统swap是否存在以及使用情况:

代码语言:shell
复制
free –m
或
swapon –s

查看硬盘使用情况(一般/dev/vda1为挂载硬盘):

代码语言:shell
复制
df –h

创建swap空间

bs=1M count=4096 表示创建一个4G(1M*4096)大小的块文件。

使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意):

代码语言:shell
复制
# 创建虚拟内存文件 
dd if=/dev/zero of=/mnt/swap bs=1M count=4096 
# 添加权限,不添加也不影响使用
chmod 0600 /mnt/swap 
# 设置交换分区文件
mkswap /mnt/swap 
# 启用swap交换分区
swapon /mnt/swap

注意:如果不使用 chmod 0600 /mnt/swap 添加权限,执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,但是实际上也是已经激活了,可以正常使用,但还是建议添加一下权限

设置开机自动挂载

代码语言:shell
复制
echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab

设置虚拟内存使用率

swappiness=0 表示最大限度使用物理内存,然后才是swap空间。

swappiness=100 表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

代码语言:shell
复制
# 默认一般是30,建议设置为10,即内存剩余小于10%的时候使用swap内存
echo "vm.swappiness = 10" >> /etc/sysctl.conf

使配置生效

代码语言:shell
复制
sysctl -p

重启服务器

代码语言:shell
复制
reboot

查看swap的情况

代码语言:shell
复制
[root@localhost swap]# free -m
             total       used       free     shared    buffers     cached
Mem:           980        910         70          3          8        575
-/+ buffers/cache:        326        654
Swap:         4095          0       4095

删除swap空间

查看swap分区文件

代码语言:shell
复制
swapon -s

停止swap分区

代码语言:shell
复制
swapoff /mnt/swap

删除swap分区文件

代码语言:shell
复制
rm -rf /mnt/swap

删除fstab文件里面的开机自动挂载配置

使用 nano 修改fstab文件:

代码语言:shell
复制
sudo nano /etc/fstab

删除开机自动挂载配置内容

代码语言:shell
复制
/mnt/swap swap swap defaults 0 0

修改完成后使用 ctrl+o 保存

使用 ctrl+x 退出

重启服务器

代码语言:shell
复制
reboot

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求
  • 关于 swap 空间的大小
  • 创建swap空间
    • 设置开机自动挂载
      • 设置虚拟内存使用率
        • 使配置生效
          • 重启服务器
            • 查看swap的情况
            • 删除swap空间
              • 查看swap分区文件
                • 停止swap分区
                  • 删除swap分区文件
                    • 删除fstab文件里面的开机自动挂载配置
                      • 重启服务器
                      相关产品与服务
                      轻量应用服务器
                      轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档