[OS] 가상 메모리(swap) 사용 시 CPU 점유율이 폭증하는 이유
·
Computer Science/Operating System
연구팀을 위해 데이터를 뽑는 도중 큰 데이터를 뽑다가 서버를 터트렸다. 해당 원인에 대해서 공부했던 내용에 대해서 서술한다. 가상 메모리(swap)란? 가상 메모리는 물리적인 RAM이 부족할 때 디스크 공간의 일부를 RAM처럼 사용하는 시스템이다. 이는 임시 방편으로 RAM이 부족한 상황에서 프로세스를 계속 실행하게 해준다. 예를 들어, 사용자가 8GB RAM을 갖춘 컴퓨터에서 10GB의 메모리를 요구하는 대규모 응용 프로그램을 실행하려고 시도한다면, 실제 물리적인 RAM만으로는 충분하지 않다. 이때, 운영체제는 2GB의 데이터를 하드 디스크의 swap 영역에 저장하게 된다. 이로 인해 사용자는 마치 10GB의 RAM이 있는 것처럼 프로그램을 실행할 수 있다. 하지만, 디스크 I/O는 RAM보다 느리므로..
[CS] 운영체제 - 가상 메모리
·
Computer Science/Operating System
가상 메모리의 기법은 전적으로 운영체제가 관리하고 있다. Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것을 말한다. 이렇게하면 I/O 양의 감소, Memory의 사용량 감소, 빠른 응답 시간, 더 많은 사용자 수용 등의 효과를 얻는다. Valid / Invaild bit를 사용한다. Invalid는 사용되지 않는 주소 영역인 경우, 페이지가 물리적 메모리에 없는 경우를 말한다. 처음에는 모든 page entry가 invalid로 초기화되고 주소 변환 시에 invalid bit이 설정되어 있다면 page fault라는 현상이 발생한다. Page fault invalid page를 접근하면 MMU가 trap을 발생시킨다. (page fault trap 이라고 불린다.) kernel ..
얼은펭귄
'가상 메모리' 태그의 글 목록