본문 바로가기

Memo

아이폰6 1기가 램에 대한 이해

아이폰6가 기대와 달리 1기가 램을 장착할 것이라는 소문 아닌 소문에 충격과 논란이 이어지는 중 뽐뿌의 한 게시판에 "아이폰 메모리의 이해"라는 글이 올라왔다. 본인이 해당 글을 삭제할 수 있으므로 역사적 뻘소리를 기록하는 의미에서 저장해 둔다.


출처 : http://www.ppomppu.co.kr/zboard/view.php?id=iphone&no=293013


말 많은 아이폰 램 이야기 입니다. 옳은 정보와 그릇된 이야기가 뒤 섞여 불필요한 논쟁을 유발하는 게 거슬려 글을 써봅니다.


먼저 그릇된 이해입니다.


*다다익램? 그건 PC 이야기.

PC에서는 메모리가 부족하면 디스크 페이징이 일어납니다. 디스크는 메모리보다 10배이상 느리므로 메모리가 많아질수록 느려질 확률이 대폭 감소합니다.

그러나 모바일은 페이징 파일을 사용하지 않습니다. 물리적인 메모리의 한도에서만 사용하므로 램을 늘린다고 빨라지지 않습니다.


*램이 늘어나면 정말 쾌적할까?

2G만 되도 얼마나 쾌적할까 하시는 분들이 계신데, 꺼꾸로 생각해봐야 합니다. 처음 사용할 때는 빈 공간이겠지만, 결국 사용하다 보면 모두 채워지기 마련입니다. 그 다음부터는 2G를 대상으로 빈 공간을 만들어 내야 합니다. 자, 2G를 관리하는 게 빠를까요 1G를 관리하는 게 빠를까요? 개별 앱에게 부족하지만 않다면 작은 게 당연히 빠릅니다.


*안드로이드와의 차이

가상 머신과 네이티브는 메모리 관리에서 아주 많이 다릅니다. 사실 안드로이드에게 메모리 증설(2G이상)은 너무도 절실했습니다. 왜냐하면 가상 머신의 메모리 관리는 최소 일정 크기 이상의 메모리 풀이 있어야 효율적이기 때문입니다. 그래서 안드에서의 2~3G나 iOS에서의 1G나 가용 자원의 측면에서는 그리 크게 차이 나지는 않습니다.


이번은 애플에 대한 이야기입니다.


*증가가 멈췄다

아마도 아이폰 메모리가 이슈가 되는 첫 번째 이유는 매년 128->256->512->1024MB 이렇게 증가해오던 것이 더 이상 늘지 않고 멈추어 버렸기 때문일 겁니다. (규칙대로라면 이번이 2G차례). 더구나 늦게 출발했던 안드로이드는 최근 1~2년 사이에 3G까지 올라와버린 상황이라 더 비교되지요. 


저는 램 증설에 대해 ‘불필요’하다는 쪽과 ‘준비부족’이라는 두 가지 시각을 모두 가지고 있었습니다. 작년까지만 해도 불필요 하다는 생각이었는데 64비트가 모든 것을 바꾸어 버렸습니다. 그래서 5S 이후로는 ‘준비 부족’이 더 크지 않나 싶습니다.


*생각보다 더 어려운 64비트.

작년의 64비트 발표는 정말 놀라운 것이었습니다. PC에서의 64비트는 사실 메모리 증설 효과로 빨라지는 경우가 많습니다. 그러나 아이폰은 같은 용량으로 더 빨라졌다고 하지요. 여기에는 여러 가지 테크닉 동원될 것으로 알고 있습니다. 예를 들어 64비트 메모리 주소 중에 앞부분은 쓰지 않게 되는데, 이것을 메모리 참조 카운트로 활용한다거나 하는 식으로요. 그래서 메모리 단위 크기가 두 배로 늘었음에도 전체 메모리 사용량은 30% 증가 밑으로 잡았다고 하더군요. 64비트가 사진이나 동영상처리에서 상당한 효과가 있는 것은 분명하지만 전체적인 성능에서는 오히려 불리한 점이 많습니다. 애플은 64비트를 단순히 도입하는데 그치지 않고 그 어려운 점을 극복했기데 칭찬을 받았던 것입니다. (그래서 안드로이드가 벌써 일년이 지났지만 64비트 전환이 쉽지가 않지요. 숫자만 올려 봤자 이득이 적기 때문입니다.)


제가 가진 정보의 한계로 더 깊숙이 알기는 어렵지만 64비트를 최적화한 상황에서 2G로 증설하는 것은 다방면에 시스템적인 영향이 큰 걸로 보여집니다. 사실 너무도 ‘빠른’ 64비트 진행이었기 상대적으로 여기서 더 느리지만 충분한 준비를 하는 게 온당할 수도 있지요. 어쨌던 기대하지 않았던 64비트는 준비했으면서 스케줄상 당연해 보였던 램 증설이 되지 않는 요상한 상황이 되었지요.


*iOS8의 변화

제가 GM이후로 iOS8을 사용했기에 충분치 않은 시간이지만 몇 가지 변화가 보입니다.

우선 64비트 시스템의 메모리 페이징 관리에 약간에 변화가 있어 보입니다. 7까지는 물리적인 한계와 무관하게 4G공간을 주었는데 8부터는 1G로 다시 내렸던 군요. 개별 앱에게 메모리 관리를 더 효율적으로 하라는 것인지는 더 살펴봐야 할 것 같습니다.

둘째로 꼭 필수적이지 않았던 스크린 캡춰 이미지의 우선 순위를 많이 낮춘 듯 합니다. 그래서 쓸 때 없이 메모리를 차지하고 있던 많은 스냅샷들이 시원하게 없어졌습니다. 다만 사파리의 멀티탭등에서 캡처 이미지 없이 까만 화면만 있어 당황스러울 수 있겠습니다. (사실 이전과 똑 같은 리플레쉬 과정임. 다만 이 부분은 아직 완전히 정리되지 않은 듯합니다. 직전 이미지는 없는데 전전 이미지는 남아있다거나 하는.)


어쨌든 가능한 한 많은 앱이 백그라운드로 살아 남아 있으면 좋겠지만 사실 세상에 꽁짜는 없습니다. 간단해 보이는 게 많은 노력이 필요하지요. 또한 메모리 증설보다 빠른 메모리 스냅샷/복구 로직이 거의 무한대로 백그라운드 상태를 보존할 수도 있습니다. (이 경우는 작은 메모리가 스냅샷에 더 유리하겠지요.)

어쨌든 애플이 기대를 충족시키진 못했지만 ‘시간을 더 줘도 된다’라고 정리해도 무리는 없을 거라고 봅니다.


PS. 원래는 옆동네에 쓸려고 했던 글인데 제가 글쓰기 권한이 없더군요. 그래서 어쩔까 싶다가 여기에 올립니다.(그래서 퍼가셔도 좋음)


PS2. 밑에 사파리에 대한 질문이 있어 추가합니다.


사파리의 경우는 조금 다릅니다. 자바스크립트가 가상머신 기반이라서 기본 메모리가 어느정도 필요합니다. (웹킷은 메모리를 더 많은 먹는 걸로 알려짐. 크롬처럼). 그래서 램이 증설된다면 가장 먼저 혜택을 받는 앱이 될 것입니다. 다만 512M의 아이폰 4(iOS7)에서도 느리지만 거의 튕김없이 웹튠들을 보고 있기에 모바일 사파리의 필요한 메모리는 그 안쪽이라고 보여집니다.  일시적으로 다른 앱이 너무 많이 사용중이라면 처음 사용시 튕길 확율이 높아 진다고 할 수 있습니다. 보통 튕기는 증상은 그냥 부족해서 발생하는게 아니라, ‘정해진 시간’안에 필요한 양을 확보 못하면 생김니다. 정리해야 할 메모리가 너무 많으면 확보하는데 시간이 걸리겠지요. 그래서 두번째 실행은 잘 되는 경우가 많습니다. 결론은 1G가 결코 부족하지는 않지만 늘릴 필요가 없는 것도 아니다. 오히려 늘리면 직접 혜택을 받는 현재로서는 거의 유일한 앱이 될 것이다. 그리고 여러번 자꾸 튕기는 사이트가 있을 수 있는데(스크롤의 압박이나 무한 동영상 첨부), 그런 곳은 아애 사용하지 않는게 모바일에서는 정신 건강에 좋을 것 같다 입니다.


뭔가 그럴싸한 소리를 하고 있는 것 같지만 처음부터 끝까지 추론에 추론을 거듭하고 있고 구체적인 근거나 비교 데이터는 없다. 특히 '1G를 관리하는 게 빠를까, 2G를 관리하는 게 빠를까'라는 부분에서 미친... 이라는 탄성을 지를 수 밖에 없었다. 마침  내 감정을 그대로 표현하는 댓글이 있었다. 정말 재미있는 건 이 글을 쓴 원작자가 자신의 어이없는 소리를 비꼬는 이 댓글에 '공감'을 표했다는 것이다. 





형편에 맞게 살아야 한단다. 모바일에서 너무 화려하게 살고 싶어 욕심내면 안된단다... 하... 


이 분은 전자 기기에 대한 기초적인 인식에 문제가 있는 게 아닐까 싶다. 나노세컨드의 세계를 아날로그 초침으로 이해하고 있으니 말이다. 1G 메모리가 2G 메모리보다 관리하기 쉽다는 이 문장은 오래도록 기억에 남을 것 같다. 다른 대부분의 문장도 뻘소리 천지지만 이 문장의 파급력을 넘어서기 힘든 것 같다. 


혹시나 저런 글을 쓴 분이 회사의 간부로 있다면, 게다가 ICT나 R&D 쪽이라면 상상만해도 끔찍하다. 근데 가만 생각해보니 나 그런 끔찍한 광경 많이 봤잖아? 오늘 밤은 악몽을 꿀 것 같다.