Swap分区:在系统硬盘独立出部分空间用于存储系统内存文件;使用:在系统的物理内存(这里指是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有操作的程序,这些被释放的空间被临时保存到Swap分区中;等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中;本文内容swap:增加、增加分区大小、设置swap分区。

一、准备

1.用SSH连接服务器。

如未连接推荐【Xshell 6的免费版获取和连接服务器】,谷歌推荐谷歌浏览器SSH连接;

2.查询 swap 使用情况,输入以下代码,如无返回状态码,则代表未配置awap空间;

swapon -s
二、新增swap分区

1.输入以下代码查看系统的整体内存使用情况,这里可以看到内存和swap的使用状态(显示单位为MB);

free -m

这个系统的total swap空间为0,即没有配置过swap。

2.输入以下代码,检查可用的存储空间。

df -h

第一行可以看到储分区上还有59GB的空间剩余,这足够操作了。

3.输入以下代码创建Swap文件;以下代码命令的意思是:在“/”目录下创建一个名为“swapfile”的,大小为“4G”的文件;

sudo fallocate -l 4G /swapfile

输入密码后,swap文件将创建完毕。

4.输入以下代码查看文件大小;

ls -lh /swapfile

5.输入以下代码,更改swap空间的访问权限(仅root可读)

sudo chmod 600 /swapfile

6.输入以下代码,检查权限设置情况。

ls -lh /swapfile

7.输入以下代码,命令“awapfile”为系统swap空间。

sudo mkswap /swapfile

8.使用以下代码开始使用swap

sudo swapon /swapfile

9.验证是否生效

swapon -s

已经有刚才设置的swap了。

10.设置开机自启;打开编辑文件。

sudo vi /etc/fstab

按键盘“i”启用编辑,按Esc关闭编辑;“Shift”+“;”打开指令输入;输入wq,按回车保存并退出。

11. 文件末尾加入下面这行内容,告诉操作系统自动使用刚才创建的swap文件

/swapfile   swap    swap    sw  0   0
三、增加swap空间大小

1.先查看一下swap的大小

free -m

2.启用root账户

sudo su

3. 使用dd命令创建/home/swap这么一个分区文件。以下代码创建的文件大小是512M;同时代表增加512M的空间,可根据需求修改代码。

dd if=/dev/zero of=/home/swap bs=1024 count=512000

4. 把这个分区变成swap分区。

/sbin/mkswap /home/swap

5. 使用这个swap分区。使其生效。

/sbin/swapon /home/swap

6. 查看一下内存和swap分区大小,是否生效。

free -m

7.设置开机启动:修改 fstab 文件,进入编辑

vi /etc/fstab

8.在文件最后添加代码

/home/swap swap swap defaults 0 0
四、 更改Swap配置 (可选)

1.swappiness参数决定了系统将数据从内存交换到swap空间的频率,数值设置在0到100之间,代表系统将数据从内存交换到swap空间的力度。

该数值越接近于0,系统越倾向于不进行swap,仅在必要的时候进行swap操作。由于swap要比内存慢很多,因此减少对swap的依赖意味着更高的系统性能。

1.1 输入代码编辑 sysctl.conf 文件

sudo vi /etc/sysctl.conf

1.2建议修改为10,增加以下代码 ,保存并退出。

vm.swappiness = 10

2. 另一个可以考虑更改的配置项是vfs_cache_pressure,该配置项涉及特殊文件系统元文件条目的存储。对此类信息的频繁读取是非常消耗性能的,所以延长其在缓存的保存时间可以提升系统的性能。

2.1 输入代码编辑 sysctl.conf 文件

sudo vi /etc/sysctl.conf

2.2 在文件末尾添加如下内容 ,保存并退出。

vm.vfs_cache_pressure = 50

发表评论

电子邮件地址不会被公开。 必填项已用*标注