高 IOWait 執行 JBoss 3.2.7

高 IOWait 執行 JBoss 3.2.7

伺服器詳細資訊:
核心:Linux wiq31 2.4.21-9.ELsmp #1 SMP 1 月 8 日星期四 17:08:56 EST 2004 i686 i686 i386 GNU/Linux
中央處理器:4 個英特爾(R) 至強(TM) CPU 3.06GHz
記憶:1028520 KB
JBoss版本:3.2.7

每次我嘗試啟動 JBoss 時,在所有 CPU 中,iowait 值開始上升,空閒值開始下降。

在執行我的 JBoss 應用程式之前,自由的命令返回以下輸出:

             *total       used       free     shared    buffers     cached  
Mem:       1028520     966400      62120          0     187756     538928  
-/+ buffers/cache:     239716     788804  
Swap:      2044072     790672    1253400*  

啟動我的 JBoss 應用程式後,自由的命令返回以下輸出:

             *total       used       free     shared    buffers     cached  
Mem:       1028520    1007648      20872          0     187116     524084  
-/+ buffers/cache:     296448     732072  
Swap:      2044072     819096    1224976*  

啟動 JBoss 應用程式後,在不回答任何請求的情況下,java 進程 /proc/PID/status 檔案具有以下值:

State:  S (sleeping)
SleepAVG:       27%
Tgid:   24022
Pid:    24022
PPid:   21011
TracerPid:      0
Uid:    500     500     500     500
Gid:    500     500     500     500
FDSize: 256
Groups: 500
VmSize:   775200 kB
VmLck:         0 kB
VmRSS:    156752 kB
VmData:   696752 kB
VmStk:        36 kB
VmExe:        21 kB
VmLib:    710375 kB
StaBrk: 0804f000 kB
Brk:    095bb000 kB
StaStk: bffff8c0 kB
ExecLim:        ffffffff
Threads:        62
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 1000000180015ccf
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000

此行為是由記憶體交換引起的,還是伺服器中的可用記憶體不足以運行我的應用程式?

答案1

即使您沒有在其上運行任何程序,Jboss 本身也會佔用相當多的記憶體。

要查看您的系統是否頻繁交換,您可以隨時運行

vmstat 1

並觀察輸出。在“swap”下,您將看到“si”和“so”——這將是換入和換出的頁面。

我猜測我會建議更多的內存,但你真的應該先進行調查。例如,如果您部署了很多大對象,您可能只需要在 jboss 上等待一段時間即可將這些對象從磁碟中拖出。

相關內容