흰 스타렉스에서 내가 내리지

컴퓨터 구조와 Swap Memory (스왑 메모리) 본문

etc

컴퓨터 구조와 Swap Memory (스왑 메모리)

주씨. 2024. 3. 24. 16:42
728x90

CPU (Central Processing Unit)

컴퓨터의 "두뇌"로, 모든 명령어의 실행과 데이터의 처리를 담당한다. 

이는 프로그램의 명령어를 해석하고, 산술 및 논리 연산을 수행하는 장치이다.

 

주 메모리 :: RAM (Random Accesss Memory)

CPU가 현재 실행 중인 프로그램과 해당 데이터를 일시적으로 저장하는 곳 

RAM 은 빠른 접근 속도를 가지고 있어, CPU 가 필요로 하는 데이터와 명령어를 신속하게 제공한다. 

그러나 전원이 꺼지면 그 내용이 사라지는 휘발성 메모리이다. 

 

보조 메모리

HDD, SSD 와 같이 데이터를 영구적으로 저장하는 장치이다. 

주 메모리보다 느린 접근 속도를 가지지만, 전원이 꺼져도 데이터가 유지된다.

보조 메모리는 운영체제, 애플리케이션 프로그램, 사용자 데이터 등을 지정하는데 사용된다. 

 

스왑 메모리

스왑 메모리는 주 메모리의 확장으로 볼 수 있으며, 주로 하드 드라이브나 SSD 에 위치한다.

RAM 이 가득 찼을 때, 운영체제는 스왑 공간에 저장된 데이터를 RAM 과 교환(swap) 한다. 

이 과정을 통해 시스템은 RAM 에 더 많은 공간을 확보할 수 으며, 더 많은 프로그램을 실행할 수 있게 됨

 

보조 메모리에 위치하지만, 주 메모리와 유사한 역할을 수행하기 위해 사용된다.

스왑의 주 목적은 시스템의 메모리 용량을 가상적으로 확장하여, 메모리 요구량이 높은 작업을 가능하게 하는 것이다.

그러나 스왑 공간은 RAM 보다 훨씬 느리기 때문에, 스왑을 과도하게 사용하면 시스템 성능이 저하될 수 있다.


Swap Memory 에 대해서

스왑 메모리(swap memory) 컴퓨터 시스템에서 물리적 RAM( 메모리) 부족할  사용하는 디스크 공간입니다
스왑은 시스템의 가상 메모리 관리 부분의 하나로, RAM에서 사용되지 않는 데이터를 일시적으로 저장함으로써실제 메모리를 효율적으로 사용할  있게 돕습니다.


👉 스왑 메모리 사용 이유

1. 메모리 부족 해결

시스템의 RAM이 모든 실행 중인 프로세스를 수용하기에 부족할 때스왑 공간은 추가적인 "가상메모리를 제공합니다
이를 통해 시스템은  많은 프로그램을 동시에 실행할  있게 됩니다.

 

2. 시스템 안정성 향상

RAM 가득 찼을  스왑 공간이 없다면시스템은 메모리 할당 실패로 인해 프로그램이나 시스템 자체가 충돌할  있습니다
스왑 메모리를 사용함으로써 시스템은 이러한 위험을 줄이고 안정성을 유지할  있습니다.

 

3. 효율적인 메모리 사용

스왑 메모리는 주로 장시간 사용되지 않는 데이터나 저우선순위의 데이터를 임시 저장하는  사용됩니다
이를 통해 RAM  중요하고 자주 사용되는 데이터 처리에 집중할  있어 전체 시스템의 효율성이 향상됩니다.

 

 

👉  스왑 메모리 사용 시기

1. RAM 모두 사용될 

시스템이 RAM 모두 사용하고 추가 메모리가 필요한 경우스왑 공간이 이를 대신하여 사용됩니다.


2. 저우선순위 프로세스 실행 

시스템은 일반적으로  중요한 프로세스나 장시간 사용되지 않는 데이터를 스왑 영역으로 이동시켜 RAM 보다 중요한 작업에 할당합니다.

 

3. 메모리 집약적인 작업을  

대규모 데이터베이스 처리대용량 파일 작업고급 그래픽 작업  메모리 사용량이 많은 작업을 수행할  스왑 공간은 RAM 보조하여 시스템이 해당 작업을 계속 진행할  있도록 합니다.

 

👉  스왑 메모리의 장점

1. 비용 효율

추가 RAM 구매하지 않고도 디스크 공간을 활용하여 메모리 용량을 늘릴  있어 경제적입니다.

 

2. 시스템 유연성

스왑 메모리는 시스템의 메모리 관리에  많은 유연성을 제공하며RAM 사용이 최적화되도록 돕습니다.

 

3. 작업 연속성 보장

메모리가 부족할  프로그램이 강제 종료되는 것을 방지하고사용자가 다수의 애플리케이션을 동시에 실행할  있게 합니다.

 

 

👉  주의사항

- 스왑 메모리는 RAM보다 훨씬 느립니다디스크 기반의 스왑 공간을 과도하게 사용하게 되면 시스템의 성능이 저하될  있습니다.
- 스왑을 효과적으로 사용하기 위해서는 적절한 스왑 공간 크기와 시스템의 메모리 사용 패턴을 고려하는 것이 중요합니다스왑 공간이 너무 크거나 너무 작으면 성능 문제나 메모리 부족 문제를 야기할  있습니다일반적으로스왑 공간의 크기는 시스템의 RAM 크기에 따라 달라지며시스템의 용도와 메모리 사용량에 맞추어 조정해야 합니다.

 

++ 스왑 공간이 너무 크거나 작을 경우 발생할 수 있는 문제는?

* 너무 클 경우

1. 디스크 공간 낭비 

 - 실제로 사용되지 않는 공간이 많아져 디스크 공간이 낭비될 수 있다. 

 

* 너무 작을 경우

1. 메모리 부족 (Out of Memory)

- 스왑 공간이 충분하지 않으면, 시스템의 RAM 과 스왑 공간이 모두 가득 차게 된다. 

- 이 경우 시스템은 메모리 부족 상태에 빠지게 되며, 이는 프로그램의 비정상 종료나 시스템의 안정성 문제를 초래할 수 있다.

2. 성능 저하

- 스왑 공간이 충분하지 않을 때, 시스템은 메모리 효율적으로 관리하기 위해 더 많은 노력을 해야 한다. 

- 이는 스왑 인 (swap in) 과 스왑 아웃 (swap out)  작업이 빈번하게 발생하게 만들며, 결과적으로 시스템의 전반적인 성능 저하로 이어질 수 있다.

 

+++ 적절한 스왑 공간 설정

스왑 공간의 적절한 크기는 시스템의 메모리 용량, 애플리케이션의 메모리 요구 사항, 그리고 사용패턴에 따라 달라질 수 있다. 

일반적으로, RAM 의 1.5배에서 2배 사이를 스왑 공간의 권장 크기고 설정하는 것이 일반적인 지침이었으나, 대용량 RAM 을 탑재한 현대의 시스템에서는 이보다 작은 크기를 설정해도 충분할 수 있다. 

 

👉  스왑 메모리 설정  조정

스왑 메모리의 설정과 조정은 시스템의 메모리 요구 사항과 작업 부하에 따라 다르게 접근할  있습니다스왑 공간을 추가하거나 변경할 때는 다음 절차를 따르게 됩니다:

1. 스왑 공간 확인: swapon -s 명령어를 사용하여 현재 시스템에 설정된 스왑 공간을 확인할  있습니다.
2. 스왑 파일 생성충분한 스왑 공간이 없는 경우, dd 명령어를 사용하여 스왑 파일을 생성할  있습니다: sudo dd if=/dev/zero of=/swapfile bs=1G count=1 명령어는 1GB 크기의 스왑 파일을 생성합니다.
3. 스왑 파일 설정생성된 스왑 파일에 대해 mkswap 명령어를 사용하여 스왑 영역을 설정하고, swapon 명령어로 스왑 파일을 활성화합니다.
4. 영구적 스왑 설정스왑 설정을 시스템 재부팅 후에도 유지하기 위해, /etc/fstab 파일에 스왑 파일 경로를 추가합니다.

 

👉  스왑 메모리의 영향

1. 성능 저하

스왑 메모리 사용은 물리적 RAM보다 느리기 때문에과도한 스왑 활동은 시스템 성능 저하를 초래  있습니다이는 특히 디스크 I/O 높은 작업에서 두드러집니다.


2. 시스템 안정성 개선

스왑 메모리는 시스템의 안정성을 개선  있으나, 메모리 관리 전략의 일부로서만 사용해야 합니다
스왑 공간에 의존하는 것보다는 애플리케이션과 시스템의 메모리 사용을 최적화하는 것이  바람직합니다.

 

 

스왑 메모리는 리소스 제한 환경에서 시스템 안정성을 보장하고 메모리 사용량을 관리하는  유용한 도구입니다
그러나 스왑 공간의 사용은 신중하게 계획하고 모니터링해야 하며가능한  성능 저하를 최소화하고 메모리 최적화를 통해 실제 RAM 사용을 극대화하는 것이 중요합니다.

'etc' 카테고리의 다른 글

Slack Webhook URL 을 추가하는 방법  (0) 2024.07.17
IOPS  (0) 2024.06.05
Jetbrains사에 직접 요청하여 IntelliJ 학생인증 받기  (0) 2023.09.15
Redis  (0) 2023.06.27
[Git] add취소, commit 취소  (0) 2023.04.29