最近查看服務器內存老是不多,提示須要增長內存空間,可是添加內存,要加錢,可是怎麼樣能夠同時加大內存又不花錢。因而想到了虛擬內存,查看了一下,發現服務器並無設置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空間後,這樣的問題就沒在出現過了服務器