-
[pinpoint] 자바메모리(java memory) 사용, java out of memory (?)회사/사내개발 2020. 10. 21. 08:50
사내 인트라넷 작업중 수정사항 적용 후
nolock을 적용하더라도 테이블에 락이 걸리는 경우가 있어 어디서 문제가 생기는 건지 분석하기 위해
pinpoint를 설치하였다.
선임이 해놓으신 것이 있어 java option만 추가하면 됐다.
추가방법
1. pinpoint 폴더를 운영서버쪽에 붙여넣음
2. 해당 폴더의 경로로 -javaagent 옵션을 맞춰줌
3. agentId, applicationName 프로젝트 이름설정
-javaagent:D:\pinpoint\pinpoint-agent-2.0.3\pinpoint-bootstrap-2.0.3.jar -Dpinpoint.agentId=INTRANET_WEB -Dpinpoint.applicationName=INTRANET_WEB
그리고 작업된 쿼리문에 속도개선 적용 후 다시 적용을 하였는데도 사용자가 많으면
java out of memory가 자꾸 발생하는 것이다.
물론 한 api에서 해당 에러가 계속 발생하는 걸 보면 기존 소스상에도 메모리를 잡아먹는 부분이 있었을 것이다.
하지만 기존에는 정상적으로 잘 돌아가던 부분이라 건드릴 수가 없었다.
게다가 운영쪽에 실행되고있는 톰캣 서비스가 많기때문에 해당 서비스만 메모리 pool을 함부로 늘릴 수가 없었다.
"pinpoint out of java memory" 검색하니
pinpoint 자체가 java agent이기 때문에 약간의 메모리를 사용할 수 없다고 나온다.
결국 디비에 락이 걸리면서 서버가 자꾸 뻗는건 핀포인트 때문이었을까?
(쿼리문 수정 후엔 2초 이내에 실행되는 쿼리문이라서 쿼리문이 락이 걸린 확률은 매우 낮아보였다.)
결과는 잠시 후에 사용자 폭주 후에.. ^___^;
약간의 검색 출처
github.com/pinpoint-apm/pinpoint/issues/3289
tomcat 메모리가 계속 증가하고 있습니다. · Issue #3289 · pinpoint-apm/pinpoint
Description pinpoint 설치후 Tomcat memory가 계속 증가하고 있습니다. tomcat memory의 힙메모리 설정이 제가 설정한 크기로 설정은 잘되어 있는걸로 모니터링은 됩니다. pinpoint는 힙메모리만 사용하는 줄
github.com
===================================
핀포인트를 제거하고 나니 딱히 문제가 생기지 않는걸 보니 핀포인트때문이 맞는것 같다
자바 메모리를 충분히 부여할 수 없을 때는 PINPOINT를 사용하지 말자 !
'회사 > 사내개발' 카테고리의 다른 글
[excel upload] apache POI를 사용하여 사용자가 업로드한 엑셀파일 읽어오기 / controller에서 엑셀 파일을 읽는 중 오류발생 (0) 2020.10.28 intellij에서 git소스를 가져온 후 gradle build 가 되지 않을 때, run application이 정상적으로 되지 않을 때 (0) 2020.10.22 [mssql] 대괄호 텍스트검색 (0) 2020.10.20 [mssql] WHERE DELETE_FLAG <> 'Y' 결과가 제대로 나오지 않을 때 (0) 2020.10.18 XMLHttpRequest로 excel(.xlsx) download하기 (로딩바) (0) 2020.09.04