Dorulog
article thumbnail
반응형

최근에 우연하게도 해당 질문을 여러 번 받게 되었는데요.

관련해서 메모리는 무엇이며, 서비스별로 적당한 메모리라는 것은 어떻게 측정할 수 있는지 한번 알아보겠습니다.

먼저 메모리란?

컴퓨터의 두뇌에 해당하는 CPU가 처리할 연산(명령어 등)을 기록하고 저장하는 장치를 저장장치라고 합니다.

이러한 저장장치는 CPU에 가까울수록, 레지스터, 캐시 메모리, 주기억장치,  버퍼, 보조기억장치 순으로

나뉠 수 있습니다.

메모리 구조

그리고 이 중에서 레지스터와 캐시 메모리는 사실상 CPU안에 내장되어 있고, 우리가 주로 메모리라고 말하는 것은

주기억장치를 뜻합니다.

예를 들어 컴퓨터에서 1+1이라는 연산을 한다고 하면 

첫 번째 메모리에 1을 저장(A0), 두 번째 메모리에 덧셈을 저장(A1), 세 번째 메모리에 다시 1을 저장(A3)

그리고 1+1을 CPU에서 연산하여 2라는 결과값을 다시 저장(A4)라는 순으로 저장하는 것으로 이해하시면 됩니다.

사람을 예시로 든다면 간단한 계산은 암산하여 주기억장치가 필요없이 레지스터나 캐시 메모리를 통해서 계산하고

복잡한 계산은 연습장(종이)에 적어가면서 풀이를 하는데요.

사람의 머리를 CPU라고 하면 이 연습 종이를 메모리라고 할 수 있습니다.

그리고 이 풀이한 것을 OMR카드에 옮겨서 지워지지 않게 싸인펜으로 적어 놓는데요.

정리해서 오랫동안 보관할 수 있도록 하는 것을 보조기억장치라고 설명할 수 있겠습니다.

이렇게 연습장에 자유롭게 적고 나중에 없어지는 휘발성 메모리와

반영구적으로 저장을 하는 비휘발성 메모리가 있는데요. 이 부분은 나중에 별도로 공부하시면 되겠습니다.

그럼 2번째 적당한 메모리 얼마일까?라는 부분을 한번 알아보겠습니다.

먼저 클라우드 시스템을 간단히 살펴보겠습니다.

클라우드 컴퓨팅이란?

클라우드 컴퓨팅

예전에는 제가 간단히 홈페이지를 만들어 글을 쓴다고하면 최소한 아래의 절차를 거쳐서 만들어야 합니다.

  1. 서버 컴퓨터를 구매(랜카드 등 IP 설정도 진행)
  2. 서버 운영체제(리눅스)를 설치하고 아파치(SW)로 웹서버를 구축(도메인 등 구매)
  3. 웹에디터로 홈페이지를 제작하여 업로드 
  4. 이후 글을 작성

즉 물리적으로 서버(H/W)를 구매하여서 여기에 OS와 SW를 다 설치한 뒤 실제로 홈페이지까지 만들어야 하는데요.

클라우드 컴퓨팅이 되면서, 이런 불필요한 과정없이 모든 것을 클라우드 컴퓨터로 만들어주고

저는 4번의 글작성에만 집중할 수 있도록 도와줍니다.

그리고 저 위의 1,2,3단계 마다 Iaas, Paas, SasS라고 불립니다.

클라우드 시스템 비교

그럼 마지막으로 오늘의 질문인 클라우드 시스템에 적당한 메모리는 얼마인가?

적당한 메모리란?

메모리에 관해서는 다다익선이라는 말을 많이 들으셨을 텐데요.

일단 본인이 사용하시는 컴퓨터의 메모리를 확인해 봅니다.

Ctrl+Alt+Del을 누르시고 -> 작업 관리자에 들어가셔서 성능 탭에 메모리를 보시면

현재 사용 중인 메모리를 확인할 수 있습니다.

그리고 세부항목은 프로세스에 가면 프로그램별 메모리 사용현황을 알 수 있습니다.

크롬에 창 몇 개만 띄우면 1.4G나 먹습니다.

프로그램별 메모리 사용량

윈도우 10 기준으로 윈도우 OS가 최소 1G 이상의 메모리를 필요로 합니다.

64비트의 경우 2G 램이 최소사양입니다.

윈도우 10 권장 사양 : 링크

윈도우 10 최소사양

또한 크롬북의 경우 Chrome OS를 사용하는데요. 약 1.5G정도를 OS에서 사용함을 알 수 있습니다.

그리고 클라우드 시스템에서 많이 사용되는 리눅스의 경우

서버용으로는 RHEL, CentOS, Debian 등이 많이 사용되고,

개인용으로는 Ubuntu, Mint 등이 많이 사용됩니다.

이중, 가장 많이 사용하는 RHEL의 클론판(?)이라고 할 수 있는

CentOS의 최신 버전인 8버전의 경우에도 2G 메모리를 최소사양으로 잡고 있습니다.

다만 그래픽 GUI를 빼고 설치하신다면 좀 더 작은 용량으로 설치가 가능합니다.

참고 : https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1911

centos 메모리

그렇기 때문에 이러한 최소사양을 확인하시고, 작업할 프로그램의 성능을 고려하셔서 메모리를 선택하시면 됩니다.

다양한 클라우드 서비스인 AWS, GCP, OCI등에서 스펙별로 확인하실 수 있습니다.

클라우드 서비스의 머신용량

실제로 제가 운영중인 개인 서버는 무료 서비스로 운영 중인데요.

1기가의 메모리로도 충분하게 서비스를 제공하고 있습니다.

개인 서버 용량

마인크래프트 기준으로 10명을 2G에서 사용 가능하다고 하는데요.

(https://minecraft.fandom.com/wiki/Server/Requirements)

마인크래프트 서버 용량

본인이 사용하는 서비스를 고려하여서, 메모리를 선택하시면 되겠습니다.

물론 돈이 많으시다면 제 지인처럼 가장 높은 모델을 구매하시면 동작하는데 문제가 없습니다. 

GCP 서버 128G ㅎㅎ

하지만 기업에서 추구하는 것은 최대 이윤을 내기 위해서는 적당한 사이즈의 클라우드 시스템을 선택해야 하는데요.

이때에는 OS가 사용하는 기본 메모리 + 서비스가 사용할 메모리를 추정하셔서 산정하시면 됩니다.

사실 메모리에 대해서 정답은 없기 때문에, 본인이 사용할 서비스를 한번 시뮬레이션해보시고

그에 맞춰서 한번 세팅해보시는 걸 추천드립니다.

728x90
profile

Dorulog

@dorudoru

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!