2G 内存的小服务器,我是怎么加 swap 的
【摘要】 我那台 Flexus 是 2 核 2G 的,装了宝塔、MySQL 再跑个小站,内存基本就见底了。有一次半夜 MySQL 被 OOM 杀掉,网站直接打不开,第二天早上才发现。后来就加了个 swap,记一下步骤。先看看有没有:free -h如果 Swap 那一行全是 0,就是没开。建一个 2G 的 swap 文件:fallocate -l 2G /swapfilechmod 600 /swapf...
我那台 Flexus 是 2 核 2G 的,装了宝塔、MySQL 再跑个小站,内存基本就见底了。有一次半夜 MySQL 被 OOM 杀掉,网站直接打不开,第二天早上才发现。后来就加了个 swap,记一下步骤。
先看看有没有:
free -h
如果 Swap 那一行全是 0,就是没开。
建一个 2G 的 swap 文件:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
fallocate 报错的话可以换成 dd if=/dev/zero of=/swapfile bs=1M count=2048,慢一点而已。
要开机自动挂上,在 /etc/fstab 加一行:
/swapfile none swap sw 0 0
最后把 swappiness 调低一点,不然内存还没满它就开始往硬盘里换,反而变卡:
sysctl vm.swappiness=10
再写进 /etc/sysctl.conf 里长期生效。
加完之后跑了快两周,MySQL 没再被杀过。当然 swap 只是兆底,硬盘比内存慢太多了,如果常常用到很多 swap,还是该考虑升配置或者把 MySQL 的缓存调小。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)