[JVM 밑바닥까지 파헤치기] 4장 - 가상 머신 성능 모니터링과 문제 해결 도구
·
카테고리 없음
* 가상 머신 상태 모니터링과 문제 해결에 쓰이는 주된 도구에는 상용 인증 도구 (JMC/ JFR. 개인 목적에서는 무료이나 상용 환경에서는 비용 지불 필요), 공식 지원 도구, 실험적 도구 세 범주가 있다. * 도구들은 크기가 매우 작은게특징, 자바로 구현됨. 프로덕션 환경에서 사용되기에 부담이 없도록 1. JPS * ps 명령어처럼, 동작 중인 가상 머신 프로세스 목록을 보여주며, 각 프로세스에서 가상 머신이 실행한 메인 클래스의 이름과 로컬 가상 머신 식별자(LVMID)를 알려줌. 2. JSTAT * 가상 머신의 다양한 작동 상태 정보를 모니터링 하는데 사용 * 가상 프로세스의 클랫스 로딩, 메모리, GC, JIT 컴파일과 같은 런타임 데이터 볼 수 있음$ jstat -gcutil 5404 (-..
[JVM 밑바닥까지 파헤치기] 2장 - 자바 메모리 영역과 메모리 오버플로
·
CS 이론/JVM
* C/ C++ 개발자는 객체의 소유권, 탄생부터 죽음까지 관리하는 책임을 진다* 자바 개발자는 VM이 제공하는 자동 메모리 관리 메커니즘으로 누수 / 오버플로 문제를 거의 겪지 않음* 의존성이 높기 때문에, 문제 발생시 파악에 어려움이 있음 JVM 런타임 데이터 * PC 레지스터 - 현재 실행 중인 스레드의 줄 번호 표시기 (바이트 코드 줄 번호). 인터프리터는 이 카운터의 값을 바꿔서 다음에 실행할 바이트코드 명령어를 선택. 스레드별로 존재하며, CPU에게 멈춘 지점을 명확하게 복원시켜 주는 값 저장 담당. * 자바 가상 머신 스택 - 스레드별로 존재. 스레드 내에서 메서드 호출시 스택에 지역 변수 테이블 (32비트 슬롯들 모음집), 피연산자 스택 (CPU의 계산용 임시공간), 동적 링크 (..
[Elasticsearch] Custom Tokenizer 를 만들어 Elasticsearch 에 넣어보자 (+이론 설명)
·
인프라 기술/Elasticsearch
Elasticsearch 는 검색에 대한 요구사항을 해결하기에 도입하기에 굉장히 유용하며, 이제 백엔드 개발 분야에서는 거의 필수적으로 가져가야 하는 지식이라고 생각이 된다. Elasticsearch 를 활용함에 있어서 가장 큰 핵심은 Analyzer, Tokenizer 를 사용하는 것이다. 많은 개발자들이 공감하겠지만, 회사나 프로젝트 내부 도메인 기반으로 검색 기능을 만들려면 존재하는 tokenizer 들로는 어려운 경우가 많다. 검색 자체가 형태소 같은 단위가 아니라 해쉬태그나 연관 검색어 위주로 검색할 때, 도메인 특화되어 있으면 도메인에 특화되게끔 Tokenize 해주는건 Elasticsearch 에선 당연히 어렵기 때문이다. 이번 포스트에선 Custom Tokenizer 적용을 위해 이해가 ..