dEcaDENt
10.12.12
조회 수 4255
추천 수 10
댓글 9

NILFS2 파일 시스템이 탐나지만 GC 설정때문에 쓰는데 거부감이 느껴지는 분들을 위한 글입니다.

기본 GC 설정으로도 충분히 사용 가능하긴 하지만, 설정 최적화를 하면 배터리 관리에 이득이 조금 있습니다.


NILFS2는 파일 시스템 특성상 체크포인트가 용량을 차지하며 쌓이게 되는데, 이를 가비지라고 합니다.

GC는 가비지 클리닝의 약자로써 쌓인 체크포인트만을 골라 삭제하는 행위를 말합니다.







1. protection_period : xx

생성된지 xx초 이내의 체크포인트는 GC로 삭제하지 않고 보존합니다.


가비지를 필요한 만큼만 보존해놓으면 일일이 체크포인트를 생성할 필요 없이 기존의 생성된 체크포인트로 찾아가기만 하면 되므로

전반적으로 UI가 좀 더 부드러워집니다.

즉, 자신이 화면 잠금을 풀고 다시 잠글때까지의 평균적인 사용시간 만큼 설정해 놓으시면 됩니다.

저는 길어야 10분이어서 600으로 설정해 놓았습니다.

지나치게 높게 설정해놓으면 폰 버벅임과 첫 NILFS2 적용 후 폰 사용불능 사태의 주원인이 됩니다.



2. min_clean_segments : xx%

전체 공간 대비 남은 공간이 xx%수준으로 떨어지면 GC가 작동합니다.


즉, 전체 1800MB의 공간 중 자신의 어플 설치 용량과 가비지의 용량 총 합이 전체의 100% - xx%에 도달하면 GC가 일어난다는 겁니다.

20~25%를 추천해드립니다.



3. max_clean_segments : xx%

GC가 일어날때 전체 공간의 xx% 수준까지 GC를 합니다.


즉, 이 수치를 85%라고 설정해놓으면 GC가 일어날때 전체 1800MB 공간들 중 여유공간의 용량이 85%인 1530MB가 될때까지 GC를 하겠다는 겁니다.


100%로 설정해놓으시면 가비지를 있는대로 다 GC하긴 합니다.

하지만 보다 효율적으로 GC를 일어나게 하려면 필요한 만큼만 GC를 하게 해야합니다.


GC는 똑똑하지만 조금 헛똑똑합니다.

실제로는 여유공간의 용량이 75%인데 85%로 설정해놓으면

실제 여유공간 용량과 설정 여유공간 용량의 갭 만큼, 즉 전체 공간의 10%만큼의 공간을 추가적으로 더 가비지가 없는지 스캔합니다.

이는 곧 시간낭비 + 베터리낭비입니다.

100 - (자신의 실제 어플 설치 총 용량 / 전체 공간 용량 * 100) 로 계산해서 나온 수치에서 5%정도만 더 빼서 최대값을 잡아주시면 되겠습니다.



4. clean_check_interval : xx

xx초마다 남은 공간의 용량을 체크합니다.


기본인 10초 그대로 냅두시면 됩니다.

기호에 따라 조절하실 순 있지만 오히려 설정값이 너무 괴상하면 독이 됩니다.



5. selection_policy : timestamp

이는 설명 안하겠습니다. 바꾸는 옵션이 하나 있긴 하지만 GC에는 전혀 필요 없습니다.



6. nsegments_per_clean : x

체크포인트가 xMB만큼 생성되면 이를 GC의 대상에 집어넣습니다.


적게 설정할수록 체크포인트를 적게 쌓긴 하지만 앱 돌릴때 체크포인트를 제때제때 필요한만큼 생성해주질 못해서 퍼포먼스가 떨어집니다.

반대로 크게 설정할수록 퍼포먼스는 좋아지지만 체크포인트가 많이 쌓이므로 GC를 자주자주 해줘야 합니다.

기본인 2로도 충분히 괜찮습니다.


현재 삼성제 프로요 펌웨어들의 경우 데이터 입출력 속도가 상당히 떨어지므로 보다 크게 설정하면 대역폭의 한계때문에

오히려 퍼포먼스가 떨어질수도 있습니다.



7. mc_nsegments_per_clean : x

GC가 일어날때 한번에 xMB만큼 GC를 합니다.


크게 잡을수록 한번에 제거하는 가비지 용량이 많아져 GC가 일어나는 시간을 줄이고 베터리 소모량을 줄일 수 있지만

지나치게 크게 설정하여 갤럭시S의 데이터 입출력 속도 이상이 되어버리면 오히려 GC가 일어날때 폰을 지나치게 버벅이게 만들 수 있습니다.

지나치게 버벅이게 설정하면 오히려 GC가 일어나는 시간이 길어져 배터리 소모가 더 심해지니 주의해주세요.



8. cleaning_interval : x

6번을 x초마다 합니다.


빨리빨리 설정할수록 GC가 빨리 쌓입니다.

기본으로도 충분합니다.



9. mc_cleaning_interval : x

GC를 x초마다 합니다.


GC할때 버벅임을 좀 줄이고 싶으신 분들은 조금 여유있게 하셔도 되고

아싸리 GC 빨리빨리 끝내고 싶은 분들은 타이트하게 설정하시면 됩니다.



10. retry_interval : xx

xx초마다 GC를 재시도.


이는 2번과 4번에 종속됩니다,

이를 문장으로 설명해드리면

'2번을 25%, 4번을 10, 10번을 60초로 설정해놓으면

10초마다 체크된 빈공간의 용량이 전체의 25%가 되었는지의 여부를 GC가 60초마다 체크합니다.'









도움이 되었는지 모르겠습니다.

제가 딱히 지식이 있어서 썼다기 보단 경험에 의해 얻어낸 결론들로 작성해 보았습니다.

관리하실때 그냥 참고만 하시면 될듯.....


아주 미묘한 차이이지만 수정한 부분 밑줄로 강조했습니다.

혹시나 해서 검토해보니 분명한 차이가 있군요.

댓글 9
댓글 쓰기 권한이 없습니다.
분류 정렬 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
펌웨어에서 순정 화일 추출하기 20 file 짱구삼촌 4 5243 2010.12.15
미디어스캐닝 속도를 높이자 12 한바리 2 9988 2010.12.15
기본 갤러리 삭제하고 gallery 3D 받으세요~ 24 촌놈탈출 1 4837 2010.12.15
[12/16 수정 ]I/O Scheduler를 통한 I/O 성능 향상 패치를 제작하여 올... 149 file 이카루스 30 10146 2010.12.14
마켓 오류 해결법? xlhj830704 2822 2010.12.14
오호! 이런 기능이 ㅎㅎㅎ 5 hoon1041 2685 2010.12.14
자양님이 쓰신 IO 스케쥴러에 대한 레알 보충자료(수정) 25 file dEcaDENt 3 3414 2010.12.14
아이나비 맵파일 꼭 백업해두세요. 7 카니엘 1 7534 2010.12.13
(수정) 파일들 덮어씌우다가 무한 부팅시 팁이라고 볼수 있을까 모르겠... 12 file 보민파파 3 2900 2010.12.13
갤럭시 s의 IO 스케쥴러 변경을 통한 IO 딜레이 단축 13 자양 4 6800 2010.12.13
z4root의 루팅 메커니즘 11 자양 1 5507 2010.12.13
[초보]오류에 의한 벽돌에 대한 팁 아닌 팁요.. 4 neO 4 3074 2010.12.13
factoryfs.rfs만으로 펌파일 만들기... 19 file 선아서방 5 5743 2010.12.12
zip align tool 사용법~ 4 file sungha 1 4385 2010.12.12
갤스 아이나비 검색 팁입니다... 1 file 한심한놈 1998 2010.12.12
NILFS2 사용자를 위한 GC 이야기(아주 조금 수정) 9 dEcaDENt 10 4255 2010.12.12
초보회원님들은 꼭 한 번씩 봐주시기 바랍니다!! 21 닉넴이뭐 9 2137 2010.12.11
T-CASH 어플 사용하시는 분들께. 5 가루약 1983 2010.12.11
간단하지만 튼튼한 거치대 만들기 3 file 쌍칼 2019 2010.12.10
모비낸드에 대한 고찰 3 file icanfeel 2866 2010.12.10
[DVR 테마] 새로나온 갤럭시S 옷진열장 테마로 꾸미는 방법입니다! 초콜렛왕 1 7136 2010.12.09
광속팁에서 쓸만한 팁 몇가지만 적용... 도시남자 1864 2010.12.09
★모비낸드None에 대한 팁입니다★ 19 혀늬다 3254 2010.12.09
올레~~~~~규규규규규규님 글씨체 찾았습니다! 8 file 현구돠 3985 2010.12.09
[팁]모비낸드버전이None으로나오는분들.. 3 혀늬다 1 2340 2010.12.09
루팅과 테마질문.. 2 정병묵 2138 2010.12.09
테그라크 빌드9 준비하시는 분들을 위한 팁 25 샤인님 3301 2010.12.09
[초보자용] apk 파일 수정하기!!! 11 file 망고멍땡 1 8391 2010.12.09
규*6 님 진저브레드 배터리 사용하시는분들 필독! 6 푸우♡ 1 2669 2010.12.09
[갤스] 주의!! 외장패치시 옮길 폴더 5 file choique 1 3415 2010.12.08
1 - 128 - 135