가상 메모리 ( Virtual Memory )

  • 주기억 장치인 RAM 의 실제 물리적인 공간 외에 하드 디스크 (보조기억장치) 에 부족한 시스템 메모리를 보조해 주는 역할

  • 새로운 프로세스가 실행되어 실제 메모리의 공간이 부족하면 휴면상태인 프로세스를 임시 공간인 가상메모리로 보낸 후에 새로운 프로세스를 실행하게 된다.

  • 실제 메모리와 가상 메모리 사이로 데이터를 옮기는 과정이 추가 되어 시스템이 느려지는 원인이 될 수 있습니다. 이유는 램에 비해 디스크의 속도면에서 차이가 나기 때문이다

  • 그렇기 때문에 가상 메모리는 되도록 사용 안하는 것이 좋다. 그만큼 실제 메모리 (RAM) 의 용량이 충분해야 할 필요가 있을 것이다. 일부의 프로그램에서 메모리 공간이 부족하지 않더라도 가상 메모리를 사용하는 경우도 있으니 참고하기 바랍니다.

  • 가상 메모리 관리
  1. 가장 빠른 디스크에 설정하는 것이 좋다.
    SSD에 윈도우와 가상 메모리가 위치해 있는 경우 분리를 위해 HDD로 옮기게 되면 엑세스 부하를 줄여 얻는 이득에 비해 엑세스 속도 저하로 인한 손해가 큽니다.

  2. 램 용량이 충분하면 가상메모리는 아예 없애는 것이 좋다.
    일부 소수의 프로그램들이 가상메모리를 사용하는 경우가 있기 때문에 최소한으로만 설정하여 사용하는 것이 좋다.

  3. 가상 메모리는 고정된 크기로 설정하는 것이 좋다.
    자동의 경우에는 계속해서 늘어나는 경우도 생길 것이고 잘못된 고정값을 설정하게 되면 부족한 현상이 발생될 수 있습니다. 따라서 자신에 사용에 맞게 설정하는 것이 가장 좋습니다.

  4. 나에게 적당한 가상 메모리 용량은 얼마일까?
    가상 메모리 크기를 64비트 기준으로 최소값인 16MB로 설정 후 최대 크기는 여유 있게 지정합니다. 그 이후에 재부팅 후 변화를 적용하고 평상시 사용하는 프로그램들을 실행해 봅니다.
    가상 메모리 설정 창에서 확인하면 사용한 만큼 늘어나 있을 것이고 그렇지 않다면 RAM의 용량이 충분하다는 것입니다. 평균적인 가상 메모리 크기를 알아낸 뒤에는 1.2~1.5배의 여유를 둔 가상 메모리를 설정합니다.

  5. 가상 메모리는 사용되지 않을 수록 좋다
    주기억장치에 비해 보조기억장치의 속도는 전투기와 거북이 수준으로 차이가 납니다.
    따라서 램 용량은 자신의 현재 원하는 작업 수준 보다 한단계 높은 수준으로 셋팅 해주는 것이 좋습니다. 그래야 가상 메모리 사용을 줄이거나 없앨 수 있기 때문입니다.


페이징 ( Paging )

  • 내용








세그먼테이션 ( Segmentation )

  • 내용








제목

  • 내용







내부 단편화

  • 내용








외부 단편화

  • 내용








결론

내용

내용

출처 : 



'프로그래밍 > 프로그래밍 기초' 카테고리의 다른 글

바인딩과 바인딩 타임 그리고 할당  (0) 2016.04.21
메모리 구조  (0) 2016.03.23

+ Recent posts