oome 란?

  • 프로그램이 메모리 할당을 시도할 때 사용할 수 있는 메모리가 부족할 때 발생
  • Java와 같은 언어에서는 이러한 상황이 발생하면 OOME 예외가 던져지고, 이를 적절히 처리하지 않으면 프로그램이 비정상적으로 종료

#!/bin/bash

source /home/shell/env.sh


#LOG_PATHS_OOME=("대상 프로세스 배열로 입력")
#DAYS=3

total=0

for LOG_PATH in "${LOG_PATHS_OOME[@]}"
do

count=$(find $LOG_PATH -name "*heapdump*" -type f -ctime -$DAYS | wc -l)

  • find 명령어를 사용하여 LOG_PATH 경로에서 이름에 "heapdump"가 포함된 파일을 찾습니다.
    • -type f: 파일 타입만 검색
    • -ctime -$DAYS: 최근 $DAYS 이내에 생성된 파일을 검색
    • -print0: 검색 결과를 NULL 문자로 구분하여 출력
    • | wc -l: 파이프를 사용하여 검색된 결과의 라인 수를 세어 count 변수에 저장


# 차이 출력
total=$(expr $total + $count)

done

echo $total


더보기

#!/bin/bash

source /home/shell/env.sh


#LOG_PATHS_OOME=("대상 프로세스 배열로 입력")
#DAYS=3

total=0

for LOG_PATH in "${LOG_PATHS_OOME[@]}"
do

# -type f : 파일 타입만 검색
# -ctime -$DAYS : 최근 $DAYS 이내 생성된 파일 검색
# -print0 : 검색 결과를 NULL(\0) 문자로 구분하여 출력
# | : 파이프를 사용하여 출력된 결과를 wc 명령어에 전달
# -l : 출력된 결과의 라인 수를 세어 출력
count=$(find $LOG_PATH -name "*heapdump*" -type f -ctime -$DAYS | wc -l)

# 차이 출력
total=$(expr $total + $count)

done

echo $total

+ Recent posts