linux系统中关于swap的内核优化

   在linux系统中,会划分一部分物理磁盘的空间为swap分区,这个分区,是当内存使用到一定程度的时候,供系统调配使用的。如果没有swap可用,当内存耗尽的时候,进程就有可能被杀死,也就是传说中的 OOM (out of memory)

[root@tao_vm_9 ~]# sysctl -a | grep swap

vm.swappiness = 60

这样,我们可以看到一个数值,默认的是60.  代表,当内存剩余60%的时候,将启用swap

一旦启动swap,系统的性能将极大的下降。所以,我们可以对该值进行修改:

vim /etc/sysctl.conf

vm.swappiness = 1

设定在内存剩余1%的时候,再启用swap,这将减少启用swap的可能。大大提高io性能。

另附参数:

overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。                              

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

你可能感兴趣的:(linux,swap,内核)