일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- 트랜잭션
- Bitbucket
- 레드마인
- springboot
- ElasticSearch
- Java
- Apach
- DB
- 리눅스
- nodejs
- sql
- Elk
- mybatis
- Stash
- 아파치
- 자바
- Gradle
- orm
- heap메모리
- 마이바티스
- JVM
- npm
- slave node
- 엘라스틱서치
- spring
- mysql
- 스프링
- 시스템운영
- SonarQube
- Today
- Total
목록JVM (3)
프로그래머호이잇
-Xms : 초기 JVM이 생성될때 설정한 Heap 메모리 값 -Xmx : JVM이 최대 사용 가능한 Heap 메모리 값 e.g. -Xms1200m –Xmx1200m JAVA Heap 메모리 구조는 Java8 기준으로 Eden 영역, Survivor 영역, Old 영역이 존재한다. Eden, Survivor 영역을 Young Generation, old 영역을 Old Genertaion 으로 관리된다. Young Generation 과 Old Genertaion 영역에서 참조되지 않는 변수들은 모두 Garbage Collector(이하 GC) 대상이 된다. GC 는 Minor GC, Major GC 2가지 로 나뉜다. Garbage Collector 과정 1. Garbage Collector 가 Stac..
JVM(Java Virtual Machine)이란? 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체임. CPU나 운영체제(플랫폼)의 종류와 무관하게 실행이 가능함. 운영체제 위에서 동작하는 프로세스로 자바 코드를 컴파일해서 얻은 바이트 코드를 해당 운영체제가 이해할 수 있는 기계어로 바꿔 실행시켜주는 역할 JVM의 구성을 살펴보면 크게 4가지(Class Loader, Execution Engine, Garbage Collector, Runtime Data Area)로 나뉨 Class Loader JAVA 컴파일러를 통해 컴파일된 Class파일을 JVM이 운영체제로부터 할당받은 메모리 영역인 Runtime Data Area 로 적재함 JAVA 컴파일러란? 자바소스를 기계어(Class) 로 변환..
totalMemory는 현재 힙에 할당된 총 메모리 크기 maxMemory는 최대로 할당될 수 있는 메모리 크기 freeMemory는 현재 할당된 힙 메모리 중 사용가능한 크기 확인 방법 Code double maxMemory = (double) Runtime.getRuntime().maxMemory() / (1024 * 1024); double totalMemory = (double) Runtime.getRuntime().totalMemory() / (1024 * 1024); double freeMemory = (double) Runtime.getRuntime().freeMemory() / (1024 * 1024); 1024 * 1024 로 나누어 주는 이유는 MB 로 단위를 변경하기 위함