디지털·가전제품

메모리가 가득찰수록 폰이나 컴퓨터의 속도가 느려지는 이유가 뭔가요

스마트폰을 예시로들자면 용량이 256기가의 폰이 있을때 메모리 용량을 한계치까지 꽉 채울수록

폰의 속도가 느려진다고 하는데 그 이유가 뭐 때문인지 궁금합니다. 단순히 용량만 채웠을 뿐인데 그게

폰이 돌아가는 속도에 영향을 미치는 이유가 뭘까요

4개의 답변이 있어요!

  • 이건 대학과정 컴퓨터구조, 운영체제론 등을 참조하면 자세히 알 수 있습니다.

    3학년쯤 배웁니다.

    또는 위 내용을 검색해보면 설명되어 있는 블로그들이 보일겁니다.

    간단히 설명하자면 다음과 같습니다.

    폰을 기준으로 설명할게요.

    앱을 실행하는 폰의 구성은 (괄호안은 메모리)

    1. cpu

    2. ram(s25 가 12기가 정도 됩니다)

    3. ssd(많이 들어본 이름으로 적습니다. 256기가에 해당하는 용량을 가진 장치를 말합니다)

    이 중 cpu 안에도 메모리가 있습니다. 이건 비싸기 때문에 캐시용도로 사용합니다.

    캐시 메모리라고 부릅니다. 총 3개 계층으로 L1~L3 메모리. 다 합쳐서 대략 2MB 정도 (0.000002기가) 됩니다.

    속도: 각 구성품의 메모리 속도는 1번이 가장 빠르고 3번이 가장 느립니다.

    1번은 용량이 너무 작으니

    실제 앱을 돌리는건 2번에서 하게 됩니다.

    3번에는 압축된 앱과 사용자의 자료들이 저장되겠지요.

    여기까지 기본 지식으로 알고나서 다음으로 넘어갈게요.

    ---

    우선 프로그램(앱)을 실행할때는 cpu 가 연산을 합니다.

    여기서 cpu 가 동작해서 앱이 돌아갈때, 메모리 용량이 필요합니다.

    앱을 설치하려고 보면 용량이 표기된걸 볼 수 있을겁니다. 이게 압축된 상태의 앱 용량입니다.

    실제로 앱을 폰에서 돌릴때는

    압축된 앱의 압축을 푼다 -> 2번에 앱을 올린다 -> 1이 실행한다.

    폰의 네비게이션 버튼 최근앱을 누르면 여러개 앱이 떠있지요.

    앱이 여러개 떠서 동작하는걸 알 수 있습니다. 백그라운드에서 동작하는겁니다.

    그럼 메모리가 많이 필요할겁니다.

    압축률을 20% 정도로 계산하고 앱(틱톡이 0.2기가 정도 되네요) 하나에 1기가씩 메모리에 올라갑니다.

    그럼 시스템 앱이 대략 3개 돌아간다 치고

    다른 앱을 실행하거나 여러 동작에 필요한 램을 2기가 정도 잡으면

    실제 백그라운드와 포그라운드에 상시 올라가는 앱은 7개 정도 되겠네요.

    문제가 생겼습니다.

    실제 백그라운드는 더 많이 필요하거든요.

    ---

    여기서 가상메모리 개념이 등장합니다.

    이제 거의 다 왔어요.

    압축을 푸는 과정때문에 실제 앱 실행 속도나 동작속도가 많이 느려집니다.

    사실상 대기하는 시간이 길어지는거니까요.

    원래는 램에 앱을 다 올리고 다른 앱을 실행하면

    처음 올린 앱은 삭제됩니다.

    다시 실행하려면 앱의 압축을 또 풀어야 하지요.

    이때 처음걸 지우지 않고 3번 ssd 에 가상메모리를 만들어서 거기에 복사해둡니다. 이렇게 하면 필요할때 다시 복사해서 넣으면 되니까요.

    이것때문에

    '용량을 꽉 채우면 폰이 느려지는 현상'이 발생합니다.

    가상 메모리는 본 메모리의 1.5배정도 잡는게 효율이 좋더군요.

    아마 OS 에서도 유동적으로 최대 1.5배정도 잡을겁니다.

    램이 12기가니까

    필요한 ssd 는 대략 18기가정도가 남아있으면 충분하다고 볼 수 있습니다.

    ---

    사람들은 경험상 메모리가 꽉 차면 느려지더라, 라고 하는데

    실제 용량에서 20기가 정도 남아 있다면 '속도 저하는 없다'고 보면 됩니다.

    너무 짧게, 대충 적어서 용어가 정확하지 않거나 다른 의문이 들 수도 있습니다만

    용량과 속도에 관해서는 대략적으로나마 알 수 있을거라 생각합니다.

    채택 보상으로 85베리 받았어요.

    채택된 답변
  • 실제로 메모리가 진짜 가득차면 더이상 아무 명령도 실행할 수 없고

    기기가 멈춥니다

    그게 옛날 컴퓨터에서 수시로 보이던 블루스크린 같은 겁니다

    이런 일이 일어나면 안되니까 매모리가 가득 차기 전에 OS가 미리미리 불필요한 메모리는 압축하고 지우면서 메모리를 정리합니다

    이 과정에 cpu도 사용되고 메모리 대역폭도 사용되니까

    프론트엔드 작업도 같이 느려집니다

  • 차를 예를들어서 2톤차량에서 1톤만 적재하면 정상으로 운행가능한데 2톤까지 적재하면 중량이생겨서 속도가 빨리달릴수가 없죠 폰도마찬가지죠 램이 꽉차면 그많은 데이터를 기억해서 씨피유로 전송해야되니 시간이 다소걸리게되죠

  • 스마트폰이나 컴퓨터의 메모리 공간이 보족해거나 가득차면 시스템 전반의 속도가 느려지는 현상이 발생합니다. 이는 하드웨어 구조와 운영체제의 자원 관리 방식 때문입니다. 메모리가 보족해지면 시스템이 데이터를 처리하기 위해 우회로를 쓰거나 정리 작업을 하느라 부하가 걸리기 때문에 체감 속도가 떨어지게 됩니다.