WAS서버 CPU 임계치 넘지 않았으나 기존 사용 패턴과 상이한 증상

잡부·2022년 12월 15일
0

WAS서버 CPU 임계치 넘지 않았으나 기존 사용 패턴과 상이한 증상

현상

WAS서버 CPU임계치가 넘지 않았으나, 기존 사용 패턴과 다르다는 연락을 받았다.

접근방식

top 명령어를 통해 10초 정도 모니터링 하니, scsystem이라는 프로세스가 CPU가 튀는것을 확인 했다.


프로세스는 확인 했으니, 프로세스의 어떤 행위가 CPU를 많이 사용하는지 확인하기 위해 perf top 명령어를 통해 확인했다.

scsystem의 strpartterncnt가 가장 많은 cpu를 소비하는 행위인것을 발견했고, pstack을 통해 더 자세한 내용을 확인 했다.

Thread 14 (Thread 0x7fcbe7c761c0 (LWP 2103)):
#0  0x00000000004314ee in strpatterncnt ()
#1  0x0000000000419909 in log_condition_check ()
#2  0x000000000041abc6 in log_generate ()
#3  0x000000000041cf1e in log_content_get ()
#4  0x000000000041ba9c in log_collector ()
#5  0x00000000004095dd in agent_execute_parameter ()
#6  0x00007fcc0915edc5 in start_thread () from /lib64/libpthread.so.0
#7  0x00007fcc08e8d73d in clone () from /lib64/libc.so.6

해당 프로세스는 특정 로그 파일에서 텍스트 파일을 읽어 특정 string parren을 카운트 하는 부분이 CPU 사용량을 많이 차지 하는것으로 판단 됐다.

조치

우선, 해당 프로세스를 종료 시켰다. 분석한 내용을 해당 프로세스를 관리하는 부서에 통지했으며, 해당부서에서는 로그 감시 패턴로직을 수정후 문제는 해결 됐다.

profile
잡부

0개의 댓글