일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring Security
- emqx
- 쇼트유알엘
- 패스트캠퍼스
- 시큐리티
- 스웨거
- WEB SOCKET
- JWT
- JavaScript
- 생성자 주입
- AWS
- 항해99
- 데이터베이스
- 개인프로젝트
- 웹개발
- Spring
- visualvm
- @jsonproperty
- 스프링의 정석
- MYSQL
- Kafka
- 남궁성과 끝까지 간다
- java
- EC2
- CentOS
- DB
- 프로그래머스
- 스파르타코딩클럽
- 카프카
- docker
- Today
- Total
목록visualvm (3)
Nellie's Blog
실무에서 자주 마주치는 OOM 에러 모니터링 상태를 이해하고 메모리 누수, GC 문제가 일어나지 않도록 하기 위해 글을 작성해보았다.일부러 객체를 계속 할당하여 Heap 메모리를 과도하게 사용하게 하여 OOM 에러를 내보며 모니터링을 해보겠다. Cat 클래스계속 할당될 클래스다.package com.example.demo;/** OOM 에러 유발 코드 */public class Cat { private int age; public Cat(int age) { this.age = age; }} 메인 클래스계속 Cat 클래스를 할당해준다. package com.example.demo;import java.util.ArrayList;import java.util.List;imp..
아주 간단한 코드로 동시성 이슈를 유발해보고, synchronized를 사용해 초간단 해결을 해보는 과정을 통해 모니터링을 관찰하며 쓰레드와 리소스에 어떤 변화가 있는지 확인해보려고 한다. 실무에서 매우 중요한 부분이라서 실습을 해보겠다!동시성 이슈 유발 코드Producer 클래스package com.example.demo;import java.util.Random;import java.util.logging.Logger;/** 프로듀서 스레드는 리스트에 값을 추가한다. */public class Producer extends Thread{ private Logger log = Logger.getLogger(Producer.class.getName()); public Producer(St..
로컬에서 VisualVM을 유용하게 사용하고 있었는데, (스레드 덤프, 힙 덤프 분석, 프로파일러 기능 등)원격 서버에서도 사용해보고 싶었다. 원격 서버에서 jar를 실행할 때 아래와 같은 명령어로 스프링부트를 실행해준다. IP와 포트를 지정해주어야 한다. java -Dcom.sun.management.jmxremote=true \\-Dcom.sun.management.jmxremote.local.only=false \\-Dcom.sun.management.jmxremote.port=9090 \\-Dcom.sun.management.jmxremote.ssl=false \\-Dcom.sun.management.jmxremote.authenticate=false \\-Djava.rmi.server.hostn..