|
스마트폰 메모리관리 - 왜 어플이 버벅거리거나, 갑자기 중지될까?
- 스마트폰을 스마트하지 못하게 왜 메모리관리가 필요할까?
구글과 핸드폰 제조사가 어련히 알아서 잘 만들었을까. 굳이 스마트폰의 메모리를 관리해야할 이유가 있을까?
내가 사용하는 스마트폰은 갤럭시S2 .
인터넷검색이나 웹페이지 몇 개 읽는 것을 제외하고는, 원체 스마트폰을 문자가 가능한 전화기로만 써왔는지라, 처음엔 스마트폰의 하드웨어나 1GB램 / 어플설치공간 1.xGB (초기 설정)가 나에게는 황송할 따름이었다.
사용하는 동안 두번의 안드로이드OS 업그레이드가 있으면서 어플설치공간이 1.97GB 로 커졌고,
내가 처음보다는 더 묵직하고 많은 수의 어플을 사용하게되어 사용환경이 달라졌다는 것이 내가 스마트폰 메모리관리에 관심을 가지게 된 이유일 것이다.
물론 그 이후에 새로나온 고성능 스마트폰들은 2GB램을 설치하여 훨씬 여유가 있지만, 몇몇 잘못된 사용으로 사용상에 불편이 있다고한다. 그래서 한번 공부해 본다.
문제점의 파악
1. 왜 어플이 버벅거리거나, 갑자기 중지될까?
3. 안쓰는 좀비 어플 위젯이 어떻게 정지시키나? / 어플 위젯이 어디로 가버렸을까?
4. 내가 안쓰는 데이터 누가 쓰고 있을까?
5. 어플을 지울때도 요령이 필요하다?
* 내용에 들어가기 전에,
- 사용자 영역에 대해서만 적고 ROOT, SYSTEM영역, 전문적인 내용에 대해서는 적지 않습니다.
- 같은 안드로이드폰이라도 핸드폰 제조사, 이동통신사, OS버전, 어플 등에 따라 쓰이는 용어가 약간씩 달라서 헛갈릴수 있다.
- 내용 설명 기준 : 안드로이드 젤리빈OS, 갤럭시시리즈, 램1GB, 내장메모리16GB
- 스마트폰에서 사용자에게 표현하는 용어는 전문용어라기보다 일반인이 이해할 수 있도록 바꾸어쓰기때문에 제조사,이통사,어플마다 다를 수 있다.
1. 왜 스마트폰이, 어플이 버벅거리거나, 갑자기 중지될까?
- 하드웨어 사양, 어플문제, 배터리, 램이 딸리기 때문이다라고 생각할 수 있다.
- 하드웨어사양? 딸리니까 고민하는거다. 빵빵한 최신형 하이엔드 스마트폰을 가졌다면 걱정안하고 이런 글 안본다. 답답하지않으니. 문제는 저사양 스마트폰에서 메모리 잔뜩잡아먹는 묵직한 어플(무식하게 만들어진 이런 어플이 간혹있다)을 쓰려는데서 발생하는 것이다. 답답하면 사용하지않던가 다른 어플을 kill 해서 어떻게든 사용해본다. 또한 갤럭시S2에 젤리빈OS와 화려한 어플들이 남의 옷같이부담스러울 수도 있다. 많이 아는 사람들은 말하길, 안드로이드2.2부터는 운영체제가 알아서 메모리관리를 해주니 별도 메모리관리가 필요없다고 한다. 그러면 왜 아직 어플리케이션 모니터에 메모리정리 버튼이 있는 것일까? 자체적인 메모리관리는 느리고 사용자의 사용방식에 다 맞을 수 없기 때문이다. 아뭏튼 어플이 버벅거리다가 저절로 종료되는 걸 그냥 내버려 둘수는 없다. 메모리관리가 어플을 강제 종료하는 것만 생각한다면, 이런 글을 볼 필요도 없다. 마켓에서 좋은 어플이나 뒤져보면되지.
- 어플을 만들 때 스마트폰에서 가볍게 돌리고 끄고해야하기 때문에 대부분 어플,위젯이 기능별로 조각조각 나있어 작고 가볍다. 예를 들면 네이버에서 제공하는 어플이 기능별로 수십가지가 되는 것도 그런 이유이다. 문제는 조각조각 낼 수없는 일부 게임 어플은 훨씬 크고 메모리를 많이 잡아 먹을 수 있다.
- 안드로이드OS버전에 최적화되지않은 어플이 문제를 일으킬 수도 있다. 안드로이드OS를 구글에서 만들면 핸드폰제조사에서 국가별사용환경,핸드폰기기 사양,통신사에 맞게 OS를 최적화하는 과정을 거쳐 업그레이드 한다. 기기마다 업그레이드 여부가 다른 것이 그런 이유이다.
- 그런데 이 업그레이드 방식이 이전 프로그램에 패치를 추가하는 형식이 아니라 프로그램 전체를 새로 다운받아 덮어씌우기때문에, 마켓에서 개인적으로 구입한 어플이 업그레이드된 OS와 맞지않는 경우 아예 돌아가지않거나 일부 기능이 제한되기도 한다.
- 배터리? 이전에 나온 모델은 배터리 용량도 작다. 나의 경우에는 배터리의 65%정도를 화면에, 안드로이드가 20% 정도를 사용하는 얌전한 사용자기때문에 잘 모른다. 절전모드를 쓰지않거나 틈나는데로 충전할 수 밖에. (절전모드를 사용하면 저전력일때 기능제한됨)
- 이제부터 메모리와 램 문제를 들쳐보자.
1) 메모리의 종류
* 최근에 나온 램2GB에 내장32GB인 스마트폰이나 노트는 아이스크림샌드위치OS이전에 사용하던 UMS방식이 아닌 MTP방식을 채택하여 어플설치공간(시스템메모리)과 내장메모리의 영역구분없이 24~25GB메모리에 어플,음악,사진,동영상을 제약없이 다운 받을수 있다.
- 램 = RAM = 어플이 실행될 때 깔고앉아 사용하는 메모리 (750 ~ 826MB)
- 시스템영역 = ROOT영역 = 루트없이 사용자가 보거나 사용할 수 없는 영역
* 안드로이드 시스템 프로그램, 각종 설정내용, 미리 설치된 제조사/이통사의 어플 등이 차지
- 시스템메모리 = 어플(프로그램)설치공간 = 디바이스 메모리 (1.87 ~ 1.97GB)
* 내가 어플을 다운로드하면 설치되고 일부 관련 데이타가 차지하는 메모리이며, 어플관리자로 캐시제거,데이타제거,어플중지,어플삭제 등이 가능하다.
- 내장메모리 = 컨텐츠저장공간 = 내파일(ASTRO) = sdcard0 (11~13GB)
* 핸드폰사면 내장메모리 16GB라고하나,
시스템메모리 1.87 ~ 1.97GB와 안드로이드시스템, 제조사/이통사 어플이 차지한 ROOT, SYSTEM영역을 제외하면 환경설정>저장소 에 보이는 내장메모리는 11GB 정도이다. 젤리빈 업그레이드하면서 시스템영역이 1GB늘고, 내장메모리(컨텐츠 저장공간)이 1GB 줄었다.
* 어플관련 데이타, 음악, 사진, 동영상 등이 차지하는 메모리
- 외장메모리 = 내파일2(ASTRO) = extSdCard = SD카드 (내가 추가로 넣은 메모리)
* 내장메모리에서 음악, 사진, 동영상 파일을 복사, 이동하거나 시스템메모리의 일부 어플을 옮겨 설치할 수 있는 추가 메모리
2) 안드로이드폰의 램 특성과 어플, 프로세스
- 왜 램이 1GB 나 2GB가 아니지? 딱 맞지않으면 비슷하기라도 해야하는데 그렇지않다. 이유는 사용자는 모르지만 시스템이 일부 사용하고 사용자가 사용할 수 있는 부분만 보여주기 때문이다.
- 왜 스마트폰마다 램 크기가 다를까? 젤리빈 업그레이드하면서 램이 몇십 MB 늘었다 혹은 줄었다. 구글과 제조사가 잘 연구해서 그만큼 시스템이 차지하는 부분을 줄였기 때문인가? 그런데 똑같은 램1GB라도 기기마다 실제 보여지는 것이 다르다. 이렇다. 갤럭시S2보다 최근에 나온 기기는 기능이 더 많기때문에 똑같은 램1GB이라도, 시스템이 조금 더 차지해야했기때문에, 갤럭시S2보다 사용자가 쓸 수 있는 가용램이 오히려 약간 작아졌다고 이해하자. 물론 스마트폰 CPU(AP) 등 하드웨어부분과도 관련이 있지만... 난 몰라도 사용에 지장없다.
* 내가 모르는 사이에 수십개의 어플이 램에서 돌아가고 있다.
- 램은 어플이 사용되는 동안 자리차지하고 쓰는 메모리다. 내가 음악을 들으면 플레이어 어플이 램에서 메모리를 차지하고 돌아가고 있다는 뜻이다. 그런데 나는 음악만 듣는데 실제로는 램에서는 수십개의 어플이 더 돌아가고 있다. 내 스마트폰에 설치한 어플이 많으면 평상시 램 사용량이 높을 수 있다. 나도 모르는 사이에 램을 차지하고 돌아가는 어플들이 더 많이 있을 수 있기 때문이다.
- 환경설정>애플리케이션관리>실행중에서 확인 가능
* 중지도 않되고 하루종일 돌아가는 시스템어플과 씨름할 이유없다.
- 그것들은 환경설정, 런처, 알림기능이 있는 메시지/메신저/이메일/업데이트, 배경화면관련어플, 새로 다운받은 키보드, 관리유틸, 와이파이, 시계, 날씨, 백신, 음성명령, 위치, 지도 등과 구글서비스, 통신사마켓 관련 어플이다. 이런 것들은 특별히 강제로 중지시켜놓지않는 한 하루 종일 돌아가고 있다고 봐야한다. 굳이 필요없고 사용하지도않는 어플들은 강제 중지시켜놓으면 될 일이고, 시스템관련 어플이나 구글이나 제조사에서 설정해놓은 어플, 알림 같은 것들은 중지시켜도 필요에 의해서 수초내로 다시 시작하기때문에, 이것들이랑 씨름할 이유가 없다.
- 재부팅만하면 다시 살아나는 어플을 중지시키고 싶은 경우에는 적절한 유틸어플을 사용해 시작시에 아예 지정된 어플들을 정지시키도록하는 방법이 좋은 방법이다.
* 아무것 안해도 램에서는 적어도 수백MB가 돌아간다.
- 나는 흔해빠진 유틸어플과 캐시제거 위젯 하나씩을 쓰고, 사용하지않으면서 강제중지가 가능한 어플은 되도록 강제중지를 시켜놓았기 때문에 재부팅하고 안정되면 500MB정도의 램이 사용중이 된다. 진짜 다 꺼두면 예전에는 350~400MB였는데 업그레이드 이후 450MB이상은 나온다. 환경설정에서도 불편하지않을 정도로 쓰지않는 기능들을 꺼두면 사용중인 램이 조금 더 줄어들수도 있다. 이렇게 강제중지를 시키지않으면 요즘나온 신형 폰에서는 기본적으로 램사용이 1GB가까이 나온다. 소위 말해서 항상 이정도 램을 시스템이 사용하는게 기본이라는 거다. 또한 일하는 중이기때문에 어플(프로세스)의 크기보다 차지하는 램의 크기가 훨씬 크다.
* 구글과 제조사, 이통사가 미리 설치되는 시스템 어플을 늘리려고 램을 늘린다?
- 사실 이런 문제가 있다. 실상 일부 어플을 강제중지하지않으면 상당한 량의 구글, 제조사, 이통사 어플이 돌아간다는 거다.(소위 미리 설치된 어플로서 지울수도 없다) 램도 넉넉하고 그 어플을 잘 사용하는 사람은 상관없겠지만, 우리같은 사람은 가능한 꺼둔다. 내가 필요하면 알아서 탁탁 켜지니까. 그런데 이게 영 꺼지지를 않는다... ㅋㅋ 아뭏튼 이런 어플이 많아지고 스마트폰 성능도 올라가야하니, 램을 2GB로 올려야했고 램을 3GB로 더 올리는 것을 연구중이라한다.
* 나몰래 램에서 일하고 있는 것이 어플의 일부인 백그라운드 프로세스다.
- 물론 이 실행중인 어플이 엄밀히 말하자면 어플 전체는 아니다. 어플은 '서비스' 또는 '프로세스'라는 하나 이상의 기능들로 묶여있는데 그중 필요한 서비스 나 프로세스가 돌아간다는 뜻이다. 예를 들면 평상시 네이버사이트나 검색기는 안돌아도 덧글이나 블로그, 메일, 메신저 알림 프로세스는 계속 일하고있다는 뜻이다. 이런 것들을 백그라운드에서 프로세스가 실행되고 있다라고 하더라. 설치는 했지만 사용하지않는다고 생각한 어플과 위젯이 나도 모르는 사이에 램을 차지하고 저혼자 열심히 돌아가기도 한다.
* 프로세스는 필요없으면 자다가, 필요하면 다시 일하기도 한다.
- 안드로이드램관리 특성상, 오랫동안 안쓰면 자러가는 프로세스들도 있다. 차지하고있던 램을 비워주는 것이 아니라 메모리는 차지하고있되 움직이지않고 대기하고 있다는 뜻이다. 완전히 빠져나갔다가 필요할 때 램으로 다시 들어오려면 반응 시간이 다소 느려지기 때문에, 램에 남아있되 비활성화 상태로 대기하고 있으면 재차 사용시에 빠르게 반응한다는 이점이 있다. 또한 새로운 어플이 램으로 들어 올 경우 빈공간을 먼저 사용하고, 다음은 대기중인 프로세스중에서 우선순위에 따라 램에서 제거된다고 한다. 따라서 대기중인 프로세스가 램을 차지하고 있다고 해서 메모리상에 큰 의미는 없다고 생각된다. 이렇게 프로세스가 비활성화되어 대기중인 상태를 유식한 말로 캐시되었다고 한다는데(Cached), 환경설정>애플리케이션관리>실행중에서 화면 상단에 '캐시된 프로세스 표시' 부분을 터치해주면 자면서 대기중인 프로세스들이 보인다. 물론 안그런 것도 많이 있다.
- 음악을 듣다가 완전 종료하지않고 중지된 상태라면 뮤직플레이어 어플은 캐시되어 자고있을까? 그렇지않다. 완전 종료될 때까지 램을 차지하고 실행중이다. 대신 완전 종료하면 캐시되지않고 램에서 완전히 빠져나간다. 마켓에서 구입한 것 중에는 완전 종료할 때까지 굳세게 램을 차지하고 버티는 것 들도 많이 있다. 어플제작자의 의도에 관련한 것이다.
* 어플을 사용할수록 램 사용량이 자란다.
- 앞에서 적은 것 처럼 내 폰에서는 기본 500MB정도의 램이 돌아간다. 물론 캐시된 프로세스를 포함하면 램을 차지하고 있는 용량은 더 많다. 그런데 이건 부팅하고 난 직후이고, 아침에 재부팅 한번하고 별 일 안하고 평상시 사용만으로 저녁때쯤에는 200MB까지 사용량이 늘어나는 것을 알수 있다. 환경설정>애플리케이션관리>실행중을 보면 각 어플이 차지한 램이 표시되는데, 가끔씩 관찰해보면 어플을 사용할 때마다 그 어플의 램 사용량이 조금씩 늘어난다는 것을 알 수 있다.
- 어플리케이션 모니터 위젯의 램 메모리정리를 보면 "비활성화 작업과 백그라운드 작업을 삭제합니다. 완료되었거나 현재 실행중인 기능이 램에서 삭제됩니다" 라고 써 있다. 그러나 아쉽게도 그 기준을 정확히 알수없다. 비활성화작업과 완료된 기능을 램에서 삭제하는 것은 위에 적은 것처럼 큰 의미가 없다. 기분은 다소 나아질 수 있지만... 또한 환경설정의 애플리케이션관리에 있는 실행중 프로세스와 비교하면 수치가 같은 때도 있고 많이 차이 날 때도 있어 신뢰도가 높지않다. 어플리케이션 모니터 위젯에서 메모리 정리를 한번하고 가만 보고있으면 원래 많이 줄지도 않지만, 그 이후 램이 계속 자라는 것을 볼 수 있다. 그렇다고 일정시간 간격, 자동으로 프로세스를 kill해서 메모리를 정리하는 것은 효용가치가 떨어진다.
* 누구나 가용램확보가 아쉴 때가 있다.
- 나는 램을 크게 사용하는 어플을 거의 사용하지않지만 가끔씩 30MB이상의 문서를 Polaris어플로 볼 때가 있다. 이 경우 램 사용량이 200MB이상 증가하기 때문에, 평상시에는 사용상에 아무런 제약이 없음에도 평상시 자동으로 램관리를 하게되었다. 만일 내 폰의 램 사용량이 600MB가 넘는 상황에서 이런 폴라리스 작업을 하면 실제로 어플이 많이 버벅거리다가 어플이 중지되기도하기 때문이다. 램 사용량이 계산상 100%를 넘게되면 어떤 일이 벌어질까? 당연히 현재 내가 작업중인 어플이 영향을 받게되고 우선순위가 낮은 어플이 램에서 밀려난다고 한다. 물론 시스템관련 파일이 최상위에 있고 구글이나 제조사가 제공하는 어플이 차순위에 위치하고 내가 사용하는 어플이 제일 하순위에 있음은 말할 것도 없다.
* 램 정리 어플은 정리제외 어플을 잘 지정하고 사용하면 효과가 있다.
- 이렇게 램을 많이 사용하는 작업을 하고나면 램치수가 당연 올라가기때문에, 방금 사용한 어플 램사용을 확실히 정리하기위해, 일일이 확인하지않고도 프로세스를 kill하는 유틸어플을 한번 실행시켜주면 빠른 효과가 나타난다. 어플마다 조금 다르겠지만 어플을 확실하게 중지시켜줄뿐아니라 아예 램에서 제거하는 어플이 있는가하면 눈가리고 아웅식의 관리 어플도 있다. 거기에 추가적으로 더 좋은 방법은 어떤 것이 있나? 화면을 끄고 SLEEP 상태로 오래두는 것이 시간은 걸리지만 스마트폰 스스로 안정화하는 기능이 있다. 어떤 어플은 SLEEP시에 램, 캐쉬를 정리하고, 추가적으로 네트워크 등 일부 기능을 제한하는 기능을 하기도한다. 단, 평상시 사용은 별 효과가 없거나 금새 복구되기도한다.
- 램정리, 프로세스 kill 유틸 어플을 사용할 때 가장 중요한 것은 램정리시에 건드리지않는 화이트리스트 어플을 먼저 지정해두는 것이다. 초기설정은 정리 제외 어플이 하나도 설정되있지않기 때문이다. 이것이 제대로 지정되지않으면 램사용량에 관계없이 핸드폰이 버벅대는 현상을 느낄수도 있다.
- 램에 상주해서 버티는 어플, 프로세스를 kill 하기위해 또 다른 관리 어플을 램에 상주시킨다는 것을 아이러니가 아닐 수 없다. 하지만 사용하지않는데 램에 버티고있는 프로세스를 일일이 찾아 제거하지않고, 한두번의 터치로 빠르게 제거할 수 있다면 실용성은 분명히 있다고 보여진다. 그렇다고 일정시간 간격, 자동으로 프로세스를 kill해서 메모리를 정리하는 것은 효용가치가 떨어진다. 이런 관리어플중 위젯이나 일정간격으로 작업을 수행하는 어플은 대부분 램상주형이지만, 내가 필요할 때만 작업하는 어플중에는 평상시 캐시되어 대기하는 어플도 있다.
결론... 해결 방안
-------------------------------------------------------------------------------------------
1. 왜 스마트폰이, 어플이 버벅거리거나, 갑자기 중지될까?
1) 하드웨어 사양이 딸리면 어플과 램정리(kill 프로세스) 유틸을 잘 골라 쓰자.
2) 안드로이드OS버전과 스마트폰 사양에 맞는 어플을 사용하자.
3) 배터리는 수시로 충전하여 전력이 충분해야 어플이 문제없이 잘 돌아간다.
4) 사용하지않는 어플중에서 강제중지가 가능한 것은 중지시켜둔다.
(필요하면 자동으로 잘 튀어 나오니 걱정없다.)
5) 다운받은 어플, 위젯중에서 사용하지않는 것은 삭제한다.
(삭제하지않으면 내가 모르는 사이에 램에 들어간다)
6) 가끔 재부팅은 상당한 효과가 있다.
7) 재부팅시 내가 미리 지정해놓는 어플은, 시작부터 자동으로 정지시키도록 관리유틸에서 설정한다.
8) 관리유틸에서 강제정리에서 제외할 어플(화이트 리스트)을 미리 잘 지정해 둔다.
9) 관리유틸을 하나 사용하면서 추가적으로 스마트폰의 가장 확실한 메모리관리 방법은, 하루에 몇 시간은 데이터 네트워크, 와이파이 꺼두고 스마튼폰에서 손을 떼는 것이다. 정신/신체건강, 메모리관리에 대단한 효과가 있다.
10) 음악을 들을 때는 음악만 듣거나, 음악에 맞춰 운동이나 춤을 추는 것 또한 정신/신체건강, 메모리관리에 대단한 효과가 있다.
|
첫댓글 느린 이유가 다 있었네요
자주 오프를 해줘야겠죠
정말 이유가있었네요 . 완전 좋은정보인거 같습니다
댓글 다셔서 간만에 다시 읽어보게 되네요....저도 감솨~~~
좋은 정보 감사합니다. ^^
감사합니다
^^*