1. 程式人生 > >生產環境增加交換分割槽swap,解決tomcat崩潰的問題

生產環境增加交換分割槽swap,解決tomcat崩潰的問題

生產環境增加交換分割槽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