
서버 세부정보:
핵심:Linux wiq31 2.4.21-9.ELsmp #1 SMP Thu 1월 8일 17:08:56 EST 2004 i686 i686 i386 GNU/Linux
CPU:인텔(R) 제온(TM) CPU 3.06GHz 4개
메모리:1028520KB
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"가 표시됩니다. 이는 페이지가 스왑 인/아웃되는 것입니다.
추측컨데 더 많은 RAM을 제안하겠지만 실제로 조사를 먼저 진행해야 합니다. 예를 들어, 배포되는 큰 개체가 많은 경우 이러한 개체를 디스크에서 끌어 놓을 때까지 jboss를 잠시 기다려야 할 수도 있습니다.