使用腾讯云服务器也有一段时间了,不过由于对Linux知识了解的比较少,加上服务器稳定性一直都比较好的,所以便很少去折腾服务器。直到最近,站点时常打不开,查了很久的原因,才发现是内存不够导致的~
用命令free
查看内存使用情况,发现swap分区大小为0,原来腾讯云主机默认是没有划分swap分区的。
所以由于我的服务器物理内存本身就很少,而且又没设置swap分区,运行效果可想而知,稍有点并发量、或者恶意用户探测访问等,网站就很容易卡壳了。
swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少。
swap分区作用:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
运行速度:
物理内存 > swap分区 > swap文件
当你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。像我由于只有一块磁盘,而且磁盘已经装了不少内容,所以就没有选择磁盘格式化,而是选择创建swap文件。
下面介绍创建swap文件的方法:
首先,选择你swap文件要放置的位置,比如直接在根目录/ 下创建或者选择一个目录,如/opt。比如我直接在根目录下创建,然后设置swap分区的名称为swapfile:
cd /
sudo dd if=/dev/zero of=/swapfile bs=1k count=4096000
mkswap /swapfile
swapon /swapfile
free -m
或者 swapon -s
。/swapfile swap swap defaults 0 0
sudo chmod 777 /etc/fstab
,然后添加语句:echo "/swapfile swap swap defaults 0 0" >>/etc/fstab
注: /swapfile 路径可以修改,可以根据创建的swap文件具体路径来配置。
========================================
如果不再需要swap,可以清理该分区:swapoff /swapfile
感谢并参考:腾讯云服务器添加虚拟内存
联系客服