有些朋友因为资金问题,在选用云服务器时选择了最低内存配置的,在后面的使用过程过经常出现内存长期处于满负荷状态,影响的服务器的响应速度。比如说最近一个新人朋友买了一个CentOS的云主机,只有500M内存,所以导致物理内存经常处于饱和状态,经常反映服务器卡,理论上讲虚拟内存应该要有物理内存的2倍也就是1G大小才够用!那么除了加钱来升级购买物理内存外,有没有其他可以缓解内存不足的情况呢,下面看下实际案例
由于他安装比较多的其他工具,提示内存不足,所以想用提高虚拟内存的方法去安装这个软件,本来都已经安装完了,今天手贱把Linux重启了一下,没看仔细,不过也不是坏事情,正好记录下设置过程,以便下次再重启的时候方便设置!
1.打开终端,切换到root用户,输入:free -m查看内存状态
[maker@LLM ~]$ free -m
total used free shared buff/cache available
Mem: 992 189 79 13 722 614
Swap: 0 0 0
Swap也就是虚拟内存为0
2.选择一个较大的分区,建立分区文件
[root@LLM ~]# dd if=/dev/zero of=/opt/swap bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 16.6877 s, 62.8 MB/s
[root@LLM ~]#
该命令表示在opt分区建立名为swap,大小为1G的虚拟内存文件
3.将swap文件设置为swap分区文件
chmod 600 /opt/swap //注意更改swap文件的权限
[root@LLM ~]# mkswap /opt/swap
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=fc47f29e-31af-401e-856d-0fec5262179e
4.激活swap,启用分区交换文件
swapon /opt/swap
5.现在看下结果
[root@LLM ~]# free -m
total used free shared buff/cache available
Mem: 992 191 63 13 737 625
Swap: 999 0 999
虚拟内存的设置部分就完成了,接下来讲一下卸载虚拟内存,这个需求也是存在的,比如你走上人生巅峰了,不屑于使用虚拟内存,就需要卸载掉了,就是任性!
1.首先停止swap分区
[root@LLM ~]# swapoff /opt/swap
[root@LLM ~]# free -m
total used free shared buff/cache available
Mem: 992 191 63 13 738 626
Swap: 0 0 0
2.其次删除掉swap文件即可
首先看一下磁盘大小
[root@LLM ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 3.9G 34G 11% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 4.0K 497M 1% /dev/shm
tmpfs 497M 420K 496M 1% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0
tmpfs 100M 0 100M 0% /run/user/1001
[root@LLM ~]# rm -rf /opt/swap
[root@LLM ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 3.0G 35G 8% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 497M 4.0K 497M 1% /dev/shm
tmpfs 497M 420K 496M 1% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/0
tmpfs 100M 0 100M 0% /run/user/1001
可以看出删除后多了1G的空间。
小结:
在linux磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一块虚拟内存,承担着扩充内存的作用。然而在工作中我们会遇到虚拟内存也不够用的情况,这个时候我们也不能重新给磁盘进行分区,只能通过增加一个swap文件,来扩充我们的虚拟内存。如果设置了虚拟内存也还是解决不了的话,建议朋友们还是增加物理内存,毕竟数据吧的云服务器配置增加内存弹性度比较高。