忆夕旧梦 https://jiumengs.cn/ zh-CN 执梦而行,拂晓而歌 Thu, 28 Dec 2023 11:22:00 +0800 Thu, 28 Dec 2023 11:22:00 +0800 Linux服务器创建和删除Swap交换分区 https://jiumengs.cn/linux/9.html https://jiumengs.cn/linux/9.html Thu, 28 Dec 2023 11:22:00 +0800 忆夕旧梦 前言

最近有项目需要用到 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是否存在以及使用情况:

free –m
或
swapon –s

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

df –h

创建swap空间

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

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

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

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

设置开机自动挂载

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

设置虚拟内存使用率

swappiness=0 表示最大限度使用物理内存,然后才是swap空间。
swappiness=100 表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

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

使配置生效

sysctl -p

重启服务器

reboot

查看swap的情况

[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分区文件

swapon -s

停止swap分区

swapoff /mnt/swap

删除swap分区文件

rm -rf /mnt/swap

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

使用 nano 修改fstab文件:

sudo nano /etc/fstab

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

/mnt/swap swap swap defaults 0 0

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

使用 ctrl+x 退出

重启服务器

reboot
]]>
0 https://jiumengs.cn/linux/9.html#comments https://jiumengs.cn/feed/
新的开始 https://jiumengs.cn/essay/start.html https://jiumengs.cn/essay/start.html Tue, 12 Dec 2023 22:22:00 +0800 忆夕旧梦 start.png

写在前面

这一年都在生活和工作之间忙碌,已经不记得上一次是什么时候更新的博客了

2023年马上结束了,我也终于有了一点空闲的时间,就想着写些东西

结果就发现网站已经无法访问了😅

备份数据的重要性

因为之前在服务商那里设置的邮箱和手机都不能正常接收信息了,所以服务器到期了也没有收到提醒,直到最近登录博客发现不能访问的时候,才看到服务器已经到期有两个月了。博客刚开的时候,备份数据库还比较勤快。后面越来越懒,大部分的备份还都在服务器上,没有转移到本地,所以啊,一定别偷懒😭

看了一下本地备份的数据,都已经很久之前的了,翻了很久也没有特别想要保留的东西。

所以,就重新开始吧

关于数据库的备份

如果使用的是宝塔面板,在计划任务里是可以设置自动备份的,但是面板上备份默认使用的是utf-8编码,恢复之后 EMOJI 表情,无法正常显示。所以还是建议使用 phpMyAdmin 或者其他数据库管理工具手动备份数据库

]]>
0 https://jiumengs.cn/essay/start.html#comments https://jiumengs.cn/feed/