首先查看虚拟内存的使用情况,使用命令
# free
查看当前系统的内存使用情况。
一般来说,linux的物理内存几乎是完全used。这个和windows非常大的区别,它的内存管理机制将系统内存充分利用,并非windows无论多大的内存都要去使用一些虚拟内存一样。这点需要注意。
Linux下面虚拟内存的默认配置通过命令
# cat /proc/sys/vm/freepages
可以查看,显示的三个数字是当前系统的:最小内存空白页、最低内存空白页和最高内存空白。
注意,这里系统使用虚拟内存的原则是:如果空白页数目低于最高空白页设置,则使用磁盘交换空间。当达到最低空白页设置时,使用内存交换(注:这个是我查看一些资料得来的,具体应用时还需要自己观察一下,不过这个不影响我们配置新的虚拟内存参数)。
内存一般以每页4k字节分配。最小内存空白页设置是系统中内存数量的2倍;最低内存空白页设置是内存数量的4倍;最高内存空白页设置是系统内存的6倍。这些值在系统启动时决定。
一般来讲在配置系统分配的虚拟内存配置上,我个人认为增大最高内存空白页是一种比较好的配置方式,以1G的内存配置为例:
可将原来的配置比例修改为:
2048 4096 6444
通过命令
# echo \"2048 4096 6444\" > /proc/sys/vm/freepages
因为增加了最高空白页配置,那么可以使内存更有效的利用。
相关阅读:
Linux下物理内存和虚拟内存交换机制