01. 가상메모리 개요
Windows에서 가상 메모리는 실제 메모리(RAM) 사용을 관리하고 최적화하는데 사용합니다. 구체적으로는, 여러 프로세스 동시 실행 시에 발생하는 메모리 용량 부족 현상과 프로세스 메모리 영역간에 침범하는 문제를 해결하기 위함입니다. 각 응용프로그램 및 프로세스는 가상 주소(virtual memory)를 사용하고, 실제 메모리주소로는 물리주소(physical memory)를 사용하여, 가상 메모리는 물리적으로 사용 가능한 것보다 더 많은 메모리를 사용할 수 있습니다.
- 가상메모리는 하나의 Application 또는 Process 마다 존재합니다.
- 물리 메모리가 부족한 경우에 디스크를 대신 사용합니다.
- 가상메모리의 사이즈는 실제 메모리 사이즈와는 관련이 없습니다.(only 32비트와 64비트 시스템의 차이)
02. 페이지 파일(Page files)
page files의 설정을 통해 가상메모리를 관리할 수 있습니다. 페이징파일은 디스크 안에서 물리적 메모리를 확장하는 역할을 합니다. Windows는 보통 자동으로 페이징 파일 크기를 관리하지만 수동으로 직접 설정하는 것도 가능합니다. 보통 2-4GB로 설정하는 경우가 많습니다. 가상메모리의 크기는 메모리 덤프가 떨어질 수 있을 정도의 크기여야 합니다.
- Page fault는 가상메모리에서 물리메모리의 데이터를 못가져오는 경우에 Disk에서 가져오는 것을 말합니다.
03. 페이징 성능(Paging)
가상메모리 사용시에는 운영체제와 메모리사이의 데이터 교환(Page In/Out)이 많이 일어나는 경우에 성능이 떨어지고 오버헤드가 발생하게 됩니다. 또한, 과도한 페이징 사용으로 시스템이 페이징 파일에 크게 의존하는 경우에도 성능저하가 이루어질 수 있습니다. 따라서 우선적으로 충분한 물리적 메모리를 확보하는 것이 좋습니다.RAM에 문제가 생긴 경우 블루스크린 MEMORY MANAGEMENT 오류가 나타나기도 합니다.
Windows는 가상 메모리를 자동으로 관리하여 사용자 개입 없이 백그라운드에서 페이징 프로세스를 처리합니다. 메모리 사용량을 모니터링하고, 페이징 파일로 이동할 수 있는 데이터를 식별하고, 실행 중인 응용 프로그램의 요구 사항에 따라 메모리 할당을 최적화합니다.
위에서 살펴본 것과 같이 가상 메모리는 메모리 관리에서 매우 중요합니다. Windows에서 모든 사용자가 가상 메모리를 사용하기 때문에, 가상메모리를 알면, 트러블 슈팅이나 특정 요구 사항에 따라 시스템 성능을 최적화하는데 좋습니다.
⭐️Windows Internals시리즈⭐️
[Windows Internals] 32bit와 64bit 시스템
[Windows Internals] 가상 메모리의 사용
[Windows Internals] CPU 개념(구성, 스케줄링, interrupt)
...작성중...
'OS > Windows' 카테고리의 다른 글
[Windows 기초] Windows Server CAL 라이선스란? (0) | 2024.10.27 |
---|---|
[Windows 기초] CPU 개념(구성, 스케줄링, interrupt) (0) | 2023.06.29 |
[Windows 기초] 32bit와 64bit 시스템 (0) | 2023.06.26 |
[Failover clusters 심화] 기타 고려사항(대용량 트래픽, CSV, LoadBalancer) (0) | 2023.06.06 |
[Failover Clusters 심화] 설정 단계 및 옵션 (0) | 2023.06.06 |