最近查看服务器内存老是不多,提示须要增长内存空间,可是添加内存,要加钱,可是怎么样能够同时加大内存又不花钱。因而想到了虚拟内存,查看了一下,发现服务器并无设置swap分区,因而我就从数据盘分出1g来当作swap空间java
使用dd命令建立一个swap分区
[root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576
count的计算公式: count=SIZE*1024  (size以MB为单位)
这样就创建一个/home/swap的分区文件,大小为1G,接着须要格式化新建的SWAP分区:
[root@localhost Desktop]# mkswap /home/swap 
再用swapon命令把这个文件分区变成swap分区
[root@localhost Desktop]#swapon /home/swap
(关闭SWAP分区命令为:[root@localhost Desktop]#swapoff /home/swap)
再用free -m查看一下,能够看出swap扩大了。
为了可以让swap自动挂载,要修改/etc/fstab文件
vi /etc/fstab
在文件末尾加上
/home/swap swap swap default 0 0
这样就算重启系统,swap分区就不用手动挂载了。mysql
[root@AY130701184903434d7bZ classes]# free -m total used free shared buffers cached Mem: 491 443 48 0 0 17 -/+ buffers/cache: 424 66 Swap: 1023 113 910
由此能够看到显然内存空间有一些剩余,在每次重启tomcat的时候也不会报须要加大内存了sql
     关于swap分区的用处,swap是当物理内存不够用的时候,把数据放到swap中,因此swap起到了一个虚拟内存的做用,在某种意义上来讲也算是加大了内存空间。数据库
百度百科的解释tomcat
注:以前我每次备份数据库的时候,都须要重启tomcat,想来是由于mysql备份数据库会产生一些文件,从而占用了内存空间,从而致使jvm内存太小,因此tomcat报错。再我加上了swap空间后,这样的问题就没在出现过了服务器