生產環境增加交換分割槽swap,解決tomcat崩潰的問題
阿新 • • 發佈:2018-11-27
生產環境增加交換分割槽swap,解決tomcat崩潰的問題
在生產環境kvm叢集,vm根據模板建立,所以每個vm的swap都是200M。但是tomcat有時候會(裝有多個tomcat的情況下)會頻繁交換資料。導致200M交換分割槽不足。於是需要臨時增加swap。
第一部分:使用swapfile擴容當前的swap
1.最多可以增加8個swapfile。
2.每個swapfile檔案可以放在不同的磁碟分割槽下。【swap負載均衡】
在i386系中,最多可以使用2GB的空間。
涉及到的命令:
dd —讀取,轉換並輸出資料命令;
mkswap —設定交換區
swapon —啟用交換區,相當於mount
swapoff —關閉交換區,相當於umount
步驟:
1、在當前路徑下建立swapfile:
dd if=/dev/zero of=swapfile bs=1024 count=1024000
# 命令中選項解釋:
# of:輸出的交換檔案的路徑及名稱;
# bs:塊大小,單位byte,一般為1k即1024個byte;
# count:總塊數即空間總大小,單位為塊即k;
# if:讀取的源空閒空間,
2、將swapfile設定為swap空間
mkswap swapfile
3、啟用交換空間,這個操作有點類似於mount操作(個人理解):
swapon swapfile
至此增加交換空間的操作結束了.
4、如果不再使用空間可以選擇關閉交換空間,如果該交換空間在使用時解除安裝不了的。
swapoff swapfile
5、新加的Swap檔案已經起作用了,但系統重新啟動以後,並不會記住前幾步的操作。因此要在/etc/fstab檔案中記錄檔案的名字,和Swap型別,如:
/path/swapfile none Swap sw,pri=3 0 0
第二部分:觀察系統交換資料量
1、檢視系統交換量,最常用的是Vmstat命令
vmstat 3
#3表示每三秒鐘捕獲一次
procs -----------memory---------- ---swap -- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 162096 73396 5364 550340 0 0 5 9 1 0 1 0 99 0 0
0 0 162096 73380 5372 550360 0 0 0 9 92 154 0 0 99 1 0
0 0 162096 73380 5372 550360 0 0 0 24 109 161 0 0 100 0 0
0 0 162096 73388 5372 550368 0 0 0 1 100 152 0 0 99 0 0
0 0 162096 73388 5380 550364 0 0 0 8 90 156 0 0 99 1 0
0 0 162096 73388 5380 550368 0 0 0 123 121 162 0 0 100 0 0
0 0 162096 73388 5380 550368 0 0 0 0 108 158 0 0 100 0 0
0 0 162096 73388 5388 550372 0 0 0 20 81 151 0 0 99 1 0
0 0 162096 73388 5388 550372 0 0 0 0 104 157 0 0 100 0 0
Swap下的si,so
si表示當前(三秒鐘之內)每秒交換回記憶體(Swap in)的總量,單位為kbytes;so表示當前(三秒鐘之內)每秒交換出記憶體(Swap out)的總量,單位為kbytes。指標數量越大,表示系統越忙
2、檢視swapfile檔案的使用率
swapon -s
#Swap空間的已用和未用資源的大小
Filename Type Size Used Priority
/dev/vda2 partition 204796 162096 -1
/data/swapfile1 file 1024000 0 -2
/data/swapfile2 file 1024000 0 -3