티스토리 뷰

EC2 프리티어를 사용하던 중 메모리 부족 현상으로 프로세스 강제 종료 현상을 겪었다. 구글링으로 문제를 해결했지만, 메모리에 대한 지식이 부족하다고 느껴 따로 정리해보려 한다.

 

 

 

메모리(Memory)


현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 즉, 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.

 

이때 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 중구난방으로 저장되어 있으면 안 된다. 그래서 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(address)라는 개념이 사용된다.

출처: https://hongong.hanbit.co.kr/컴퓨터의-4가지-핵심-부품cpu-메모리-보조기억장/

 

 

정리

 

  • 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.
  • 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다.
  • 메모리에 저장된 값의 위치는 주소로 알 수 있다.

 

 

RAM(Random access memory)의 특징


RAM은 CPU가 즉시 사용할 수 있는 데이터와 프로그램을 임시로 저장하는 공간이다.

하드디스크나 SSD와 같은 보조기억장치에 비해 훨씬 빠른 속도로 데이터를 읽고 쓸 수 있어, CPU와 보조기억장치 사이의 중개자 역할을 한다.

 

 

1. 휘발성

RAM은 휘발성 메모리이다.

- 휘발성 메모리
전원이 차단되면 저장된 내용을 잃는 장치를 말한다.

- 비휘발성 메모리
전원이 차단 여부와 상관없이 정보가 칩에 영구저장 된다.

 

 

2. 많을 수록 좋다. 多多益RAM(다다익램).

 

반대로 RAM 용량이 작은 경우의 예시를 생각해보자.

CPU가 1,2,3,4 번 프로그램을 순차적으로 실행해야 하는 경우, RAM의 용량이 매우 작다면 아래와 같은 과정을 거쳐야 한다.

1. SSD에서 1번 프로그램을 RAM으로 복사
2. RAM에서 CPU로 1번 프로그램 전달
3. 1번 프로그램 실행 완료 후 RAM에서 삭제
4. SSD에서 2번 프로그램을 RAM으로 복사
5. RAM에서 CPU로 2번 프로그램 전달
6. 2번 프로그램 실행 완료 후 RAM에서 삭제
7. 이러한 과정을 3번, 4번 프로그램에도 반복

 

 

만약 RAM의 용량이 충분하다면, 초기에 1,2,3,4 프로그램을 모두 RAM에 한 번에 로드한 뒤, CPU는 필요할 때 마다 RAM에서 즉시 프로그램을 실행할 수 있을 것이다.

 

(왜 8GB RAM 노트북을 썼을 때 속도가 그렇게 느렸는지 이제야 이해가된다..)

 

 

 

ROM(Read Only Memotry)


ROM은 비휘발성 메모리이며, boot loader(부팅 시 초기화 및 실행되는 코드)나 바이오스(BIOS)와 같은 시스템 레벨의 프로그램 및 설정을 저장하는데 사용되는 메모리를 의미한다.

 

 

 

 

 

 

참고:

https://velog.io/@kwontae1313/%EB%A9%94%EB%AA%A8%EB%A6%AC

https://hongong.hanbit.co.kr/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98-4%EA%B0%80%EC%A7%80-%ED%95%B5%EC%8B%AC-%EB%B6%80%ED%92%88cpu-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%B3%B4%EC%A1%B0%EA%B8%B0%EC%96%B5%EC%9E%A5/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함