arter97
15.04.28
조회 수 16203
추천 수 44
댓글 19
흔히들 말하는 '롤리팝 메모리 누수'에 대해
몇 가지 꼭 아셔야할 것들이 있는거 같아 작성합니다.

1. "버그 없는 소프트웨어는 없다" <==> "메모리 누수 없는 소프트웨어는 없다"
비슷한 맥락입니다. 버그 없는 소프트웨어는 없듯이 메모리 누수 없는 소프트웨어도 없습니다.
리눅스 커널도 메모리 누수 있으며 4.0+ 버전에서도 계속 보고되며 픽스되는 등 뫼비우스의 띠를 돌듯 개발 과정에서 반복되는 사이클입니다.

2. 킷캣도 당연히 메모리 누수 있습니다.
롤리팝 설정 앱에서 "시스템 메모리"라고 따로 표시되는 기능이 추가되어 롤리팝에서만 심해보일 뿐입니다.
롤리팝 전에는 계속 "가용램 적네요"라고 하셨잖아요? 같은 맥락입니다.

3. 이번 롤리팝에서 유난히 심해보이는 이유
(특정 상황에서) 그래픽 자원이 메모리에서 내려가지 않는 ColorFade의 잘못된 코드와 커널 단에서 여러 새로운 시도를 하느라 메모리 할당량이 늘거나 새로운 메모리 할당에 문제가 생긴건 사실입니다.
ColorFade쪽은 CyanogenMod 12.0를 비롯한 여러 커스텀롬, artware, 공식 Android 5.1에서 수정되었습니다. (기타 Android 5.0 제조사 롬들은 모르겠네요)
커널 쪽은 제조사마다 다르겠지만 넥서스를 기준으론 Android 5.0때 뭔가 망친건 분명합니다.
넥서스 7은 동영상 재생도 뻑나고
넥서스 5는 멀티태스킹 성능이 눈에 띌 정도로 훨씬 뒤 떨어지는 등..
(번외론 Android 5.1에서 커널을 집중공략해 메모리 효율을 개선한 시도가 눈에 띕니다.
그래픽쪽만 20-30개 정도 커밋되었고 fs/seq_file.c 에도 여러 커밋이 되었습니다.)

4. 삼성 VS LG?
LG쪽은 잘 안봐서 솔직히 정확히 말씀은 못 드리겠습니다.
다만 "이럴 가능성도 있다"는 전제하에 말씀드리겠습니다.
경량화 되어있기로 유명한 AOSP와 비교해도 LG 롤리팝 펌웨어의 시스템 메모리 할당량이 적어도 너무 이상할 정도로 적습니다.
설정 앱에서 시스템 메모리 표기되는 계산 공식을 LG가 변경했을 수도 있다는 점과 오픈소스이기에 그렇게 변경해서 눈속임해도 절대 문제될거 없다는 점도 알아두세요.
"캐쉬된 프로세스 표시"에 나온걸 보셔야 남은 메모리가 정확히 나오는겁니다.

5. Android 5.1
안그래도 5.0때 메모리 누수로 욕 엄청 먹었는데 구글이 미쳤다고 가만히 앉아서 도넛만 먹진 않았을거란 말입니다, UI가 비슷하다고 내부도 비슷할 착각은 버리세요.
위에서 말씀드렸듯이 메모리 누수에 큰 비중을 차지하는 ColorFade는 이미 5.1에 픽스되었고 커널 단에서도 많은 개선이 이루어졌습니다.
프레임워크(자바)에서도 많은 메모리 개선이 이루어졌고
ART 런타임에서도 (5.0 Xposed가 더 이상 호환되지 않을 정도로) 어마어마한 변경사항들이 있었습니다.
CyanogenMod 12.1을 사용하는 유저로써 말씀드리자면 12.0와는 차이가 느껴질 정도로 빨라지고 메모리 관리 효율이 개선되었습니다(주관적 입장).



앞으로 "이거 메모리 누수인가요?"라는 식의 게시글엔 모든 앱 종료 후 "캐쉬된 프로세스 표시" 스크린샷을 띄우는게 훨씬 정확한 비교가 될겁니다.
시스템/앱 메모리 표기 따로따로 보시면서 "와 이 롬 만든 놈들 개적화했네" 하시지 말고 모든 앱 종료 후 "캐쉬된 프로세스 표시"에서 나오는 "사용 가능 메모리"로 비교하세요.
댓글 19
  • ?
    아터님이 올려주셨네요 ...... 좋은글 잘보고갑니다 ......
  • ?
    엘가나
    15.04.28
    잘설명해주셨네요.  감사합니다.  정말 잘읽었습니다
  • ?
    SKYRIM
    15.04.28
    저도 요즘들어 뭐 말같지도 않은걸 다 램누수라고 하는거땜에 짜증났는데.. 잘 설명해 주셨네요. 감사합니다.
  • ?
    좋은설명 감사합니다.
  • ?
    리하빠
    15.04.28

    좋은 설명인데 재가 이해가 부족하네요 ㅡㅜ

  • ?
    Resonance
    15.04.28
    글들 보면 램누수도아닌걸 누수라하고 하는사람이 많앗엇는대 좀 조용해질수잇을만한 글이네요
  • ?
    좋은정보 감사합니다..^^ 잘보고 갑니다~!
  • ?
    좋은글 보고갑니다 감사합니다
  • profile
    각 커뮤니티마다 여러 제조사의 폰 사용자들이 각자 사용중인 기기에서 느끼는 "램 누수"관련 게시글에 첨부된 스샷을 보면, "대체 어떤 기준으로 어느 수치를 두고 램 누수라고 판단하는지~?" 아주 헷갈립니다.

    1:실제 폰 사용에 있어-과도하게 렉이 걸린다거나 버벅임이 심해진다든지..

    2:실제 폰 사용은 쾌적하지만-시스템상의 메모리 데이터 기록에만 "사용가능 메모리"가 엄청 적다든지...

    3:실제 폰 사용에도 문제가 있을만큼 "램 관련 데이터 기록"수치도 놀랄만큼 가용램이 적다든지...

    대개 이 세가지로 집약되는것 같은데~

    객관적으로 입증하긴 어렵겠지만,
    이쯤에서 "램 누수에 관한 기본적인 개념과  그것이 폰 실사용에 미치는 구체적인 영향"등의 자료가 개략적이나마 "커스텀롬 개발자"분들에 의해 정리가 되었으면 하는 개인적인 바램입니다.(이 게시글처럼...)

    좋은 커롬과 커널, 늘 감사드립니다.^^
  • ?
    좋은글 감사합니다 참고하여 지켜봐야겠네요
  • ?
    ONI
    15.04.29
    잘 읽고 갑니다..^^
  • ?
    소히
    15.04.29
    램누수라는건 어떤 앱이 실행시에 8메가를 요구해서 커널이 할당해줬는데 그 앱이 종료되면서 7메가만 반환하면 그게 램 누수죠. 앱이 실행하는 도중이라도 램을 할당받고 반환하는 과정에서도 누수가 얼마든지 발생하구요. 윈도우에서 돌아가는 크롬에도 누수는 존재하죠. 오래쓰면 끝도없이 커지니까요. 근래엔 많이 좋아젔지만요. 고로 램누수라는게 얼만큼 시스템 성능에 영향을 미치는지는... 그건 아무도 모르죠. 상황에따라 달라지니까요...
  • profile
    @소히님~고맙습니다.^^
  • ?
    아엔드
    15.04.29
    좋은 글보고 가요~
  • ?
    기븐
    15.04.29
    역시 cm롬에서는 12부터 이미 개선된게 맞네요. 자세한 설명 감사드립니다
  • ?

    램누수가 저는 자세히 뭔지 몰라서 램누수 관련 글은 보면 저도 같이 비교를 하곤 했죠...

     

    뭔지 잘 모르지만 아터님 롬과 커널을 사용하는 저로써

     

    아터님 글 잘 읽고 갑니다..

     

    이해는 못하지만 항상 노고에 감사드립니다.

  • ?
    좋은정보 감사합니다..
  • ?
    좋은정보감사드립니다.
  • ?
    evada
    15.06.10
    참 좋은 설명입니다. 이런 글이 자주 올라와야 저 같은 초보자들이 조금이나마 이론적인 눈을 뜰 수 있을 것입니다 고맙습니다. 더불어 롤리 5.1이 빨리 올라오기를 바랄뿐입니다(노트4 유저입니다)
댓글 쓰기 권한이 없습니다.
최신순 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2