jvm

반응형
JSTAT GC 메모리 관리

자바에서 메모리 관리의 효율성을 위해 제공하는 Tool

Young 영역

Eden 영역에는 신규 객체들이 보관되고, 100% 차게되면 사용하지 않는 객체는 제거되고, 사용되는 객체는 Survivor 0으로 승격(miner gc 수행), S0에서 사용하지 않는 객체 제거 및 사용되는 객체 Survivor 1영역으로 승격(miner gc 수행) 됨. 이 작업이 반복되면서 살아 남은 객체는 Old 영역으로 승격됨. (miner gc 수행 중에는 JVM STW 발생하지 않음)

Old 영역

Eden 영역에서 승격된 객체들이 보관되다가 Old 영역이 100% 되면 major gc 가 발생한다. JVM STW 가 되면서 Old 영역의 메모리를 정리하게 되는데, 이때 major gc 처리 시간을 줄이는 것이 중요함( 1초 미만을 권장하고, 시간에 따라 gc 튜닝이 필요할 수도 있음)

jstat gc memory check

  • jstat 옵션
    • gc: gc 힙의 통계 정보를 출력
    • gccapacity: 힙의 용량 정보를 출력
    • gcutil: gc 통계 정보를 출력
    • gcnew: new 영역의 정보 출력
    • gccause: gc 통계 정보와 gc 발생 원인 출력
  • jstat 예시
    • jstat [옵션] [PID] [반복 출력 시간]

  • S0: S0 영역 사용율
  • S1: S1 영역 사용율
  • E: Eden 영역 사용율
  • O: Old 영역 사용율
  • CCS: compressed class space 영역 사용율
  • YGC: young 영역 gc count
  • FGC: full gc count(major gc)
  • FGCT: full gc count time (소요 시간)
  • GCT: gc 전체 소요시간 (ygct + fgct)
반응형

[shell] thread dump

2021. 3. 25. 17:25
반응형

WAS thread dump Script

```
#!/bin/bash
export pidlist=`ps -ef | grep tomcat.server | awk '{print $2}'`

date=`date + %m%d`
export LOG_DIR=/app/logs/threaddump/$date
echo "LOG_DIR = " $LOG_DIR

if [! -d $LOG_DIR ]; then
    mkdir $LOG_DIR
fi
echo "LOG_DIR making success!! "

nowtime=`date +%H:%M`
echo "nowdate=" $nowtime

ps -ef | grep tomcat.server | awk '{print $2,$9}' >> /app/logs/threaddump/$date/pidname.txt

echo "thread dump start....."

for PID in $pidlist ;do
/app/jdk/jdk1.8.0_89/bin/jstack -1 $PID >> /app/logs/threaddump/$date/${PID}_ThreadDump-1.log
echo "first thread dump ....."
done
sleep 3
echo "first thread dump success....."

for PID in $pidlist ;do
/app/jdk/jdk1.8.0_89/bin/jstack -1 $PID >> /app/logs/threaddump/$date/${PID}_ThreadDump-2.log
echo "second thread dump ....."
done
sleep 3
echo "second thread dump success....."

for PID in $pidlist ;do
/app/jdk/jdk1.8.0_89/bin/jstack -1 $PID >> /app/logs/threaddump/$date/${PID}_ThreadDump-3.log
echo "third thread dump ....."
done
sleep 3
echo "third thread dump success....."
```
반응형

'Infra > Linux' 카테고리의 다른 글

[Linux] 서버 용량 확인  (0) 2021.03.29
[Linux] 리눅스 명령어  (0) 2021.03.25
[Linux] war 압축  (0) 2014.01.24
[Linux] vi 명령어  (0) 2014.01.24

+ Recent posts

반응형