linux中的swap

 

1、

也许你会经常遇到一个经典的swap大小设置问题(比如狗血的面试题)。

很多人多会说内存的2倍、、

但是个人认为一般而言 swap 不要设置太大,最好不要超过4G。

 

2、

进程申请内存不足时,发现某些进程占用空闲内存:
swap out :
os   mem--> swap

当被swap out的进程从空闲状态转换为需要使用内存状态,发现内存不足:
swap in  :
os  swap --> mem

通过vmstat命令可以看到swap out ,swap in (so,si) 的情况:

 

根据概念可知,一般在内存充足的情况下是不应有大量的 si,so的

 

3、

系统swap使用限制:

[root@db03 ~]# sysctl -a|grep swap
vm.swappiness = 60

# /etc/sysctl.conf  内存参数配置文件

0--100 

0      尽可能最大使用物理内存(当内存不足时不会使用swap,操作系统会找到占用内存最大的进程把他kill掉)
100  尽可能使用swap

(对于数据库这个IO密集型应用,不应该把vm.swappiness设置的太大,建议设置在10以内,当然如果你怕操作系统oom掉数据库也要根据不同情况而定)

 

4、

增加swap文件大小:

创建swap文件:

dd if=/dev/zero of=swapfile bs=1024 count=1000

mkswap  swapfile

激活swap:

swapon swapfile

开机自动挂载swap文件:

#vi  /etc/fstab

/root/swap/swapfile    swap    swap    defaults    0 0

 

5、

删除增加的swap:

swapoff  swapfile

去除开机自动挂载

 

posted @ 2017-01-08 21:53  xuanhui  阅读(716)  评论(0编辑  收藏  举报