创建swap的方式方法与swap的优缺点说明

创建swap的方式方法与swap的优缺点说明


背景

发现阿里云的机器默认关闭了swap

但是自己的内存设置又比较夸张. 
32G内存设置了20G的堆区.
但是实际上内存使用了 27.5G
然后可用内存只剩下 300M 外加 2G的 buffer 跟CPU的cache
但是产品会宕机
准备创建上一块swap..

创建过程

dd if=/dev/zero of=/swapfile bs=1M count=12K
chmod 0600 /swapfile
mkswap /swapfile
swapon /swapfile

注意 我这边不准备设置到 fstab 里面去 
如果必须适
/swapfile swap swap defaults 0 0

测试验证

创建之前:
 free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           2           0          26          27
Swap:              0           0           0

创建文件, 注意建议改改文件属主

创建之后
free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           0           0          28          27
Swap:             11           0          11

关于swap的取舍

内存越来越便宜, CPU的算力很难提升.
为了产品的快速发展, 还是应该增加内存.
不管是应用还是数据库
如果大量的想要读取或者是写入的内容能够在内存中安家
那么系统的速度会非常快速. 

如果需要swap in 和swap off
必须进行一次强行的上下文切换, 到内核态
将文件从磁盘读出或者是写入. 
一方面有切换的损失, 另一方面也有服务等待IO的过程
会导致产品性能指数级下降. 
内存的时延基本上 60ns级别. 磁盘是 6ms 的级别
差了十万倍. 会导致系统严重出问题. 

保留swap 可以保证产品稳定, 减少倍OOM killer 的概率
但是会对性能有极坏的负面影响. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章