당신의 메모리는 안녕하십니까?
·
Spring/Spring Boot
당신의 애플리케이션은 안전한가요?"혹시 서비스 운영 중 아무런 이상이 없어 보이던 시스템이 갑자기 느려지고, 응답 시간이 증가하며, 결국 장애로 이어진 경험이 있지는 않나요? 우리가 흔히 간과하는 작은 코드 한 줄이 애플리케이션 성능 저하와 서버 장애를 초래할 수 있다는 사실, 알고 계셨나요?" 이런 문제는 대부분 메모리 관리의 작은 실수에서 시작된다. 애플리케이션이 실행되는 동안 메모리는 끊임없이 할당되고 해제된다. 특히 Java의 JVM 메모리 관리 방식을 제대로 이해하지 못하면, 시스템 성능 저하와 장애를 초래하는 메모리 누수(memory leak)가 발생하여 시스템 성능이 점점 저하될 수 있다.위 그래프는 JVM 메모리 사용량을 보여준다. 시간이 지남에 따라 메모리 사용량이 꾸준히 증가하고 있으며..
[운영체제 OS] 가상 메모리 Virtual Memory
·
CS/운영체제 OS
Github 주소: pythonstrup 09 가상 메모리 Virtual Memory 목차 가상 메모리의 개념 1-1. 가상 메모리란 1-2. Demand Paging Page Replacement 2-1. Optimal Algorithm 2-2. FIFO Algorithm 2-3. LRU Algorithm 2-4. LFU Algorithm 2-5. Clock Algorithm(Second Chance Algorithm) Page Frame Allocation 3-1. Allocation Problem 3-2. Frame 그룹에 따른 Replacement Thrashing 4-1. Thrashing이란 4-2. Thrashing Prevention Page Size 결정 1. 가상 메모리의 개념 1-1...
[운영체제 OS] 메모리 관리 Memory Management
·
CS/운영체제 OS
Github Repo: pythonstrup 08 메모리 관리 Memory Management 목차 주소 Address 1-1. 주소의 종류 1-2. 주소 바인딩 address binding 메모리 관리와 관련한 용어 2-1. 동적 로딩 Dynamic Loading 2-2. 동적 연결 Dynamic Linking 2-3. 중첩 Overlays 2-4. Swapping 물리적 메모리의 관리 Allocation of Physical Memory 3-1. 물리적 메모리의 할당 방식 3-2. 연속 할당 Contiguous Allocation 3-3. 불연속 할당 Noncontiguous Allocation 불연속 할당의 기법 4-1. 페이징 Paging 4-2. 계층적 페이징 Multilevel Paging 4..