IO 스케쥴러 변경에 대해 다들 관심이 많은것 같아서 간단히 사용할수 있도록 어플리케이션을 만들어 봤습니다.

출처)

http://blog.naver.com/dowkim10/120120221075

---------------------------------------------------------------------------


IO 스케쥴러의 변경에 대한 기술적 내용과 전반사항은 이미 이전글에 언급하였다.


http://blog.naver.com/dowkim10/120119483848


IO 스케쥴러의 변경은 일반적인 패치류와 같은 성격의 내용이 아니라, 시스템이 가지는 수천가지의 설정중에서 하나를 변경한 것
뿐이다.
따라서, 이로 인해 시스템의 성능이나 IO가 빨라지는것이 아니다. 단지, IO 에 대한 우선순위및 밸런싱을 조절한 것
뿐이다.
이로 인해 특정 환경이나 어플이 빨라질수도 있고, 도리어 느리게 느껴 질수도 있다.
본인이 사용하는 폰의 상태
(어플리케이션, 커널 패치등)에 따라 다소 느낌이 다를 수 있으니 여기서 제공하는 프로그램을 통하여 잠시 사용해 보는것도 도움이 될듯
하다.



어플리케이션의 특징
- 현재로서는 갤럭시 s에 대해서만 적용을 하였는데, 실상은 모든 안드로이드 폰에
적용이 가능한 내용이다.
- 시스템 변수를 변경하는 것이라서 루팅된 폰에서만 가능하다 (busybox는 없어도 상관이 없다)
- 순정
사용자나 기타 패치커널 (부두,테그라크.. 등등)의 사용여부와 상관이 없다.
(본인은 부두, 원펀치, 테그라크가 아직 먼지도 모른다.
개인적으로는 궁금한데 기술적으로 설명되어 있는데는 없는것 같다.)
- 이클레어 사용자도 사용이 가능할 것으로 보인다. (minimum
API를 eclair로 했기때문에 가능할듯)



설치 및 사용법
첨부 어플리케이션을 다운로드 받아 설치한다.


어플리케이션 실행후 다음의 버튼을 통하여 조작가능하다.
- 현재 상태보기
- IO sheduler 변경
-
초기 상태 복원


IOsched-0.2.png


개선 사항
1. 현재는 갤럭시s에 대해서만 했는데 갤럭시S,U,K는 시스템 정보만 알면 적용하는
것은 쉬우므로 다음버전에는 포함을 시킬까 생각중이다.
(기타 다른 안드로이드폰도 할수는 있지만, 굳이 그럴필요성은
못느낀다.)
2. startup 어플리케이션으로 등록해서 초기에 한번 유저가 설정한 옵션으로 실행되게 하는것이 필요할듯,

서비스나 메모리 상주가 아니라 초기 한번만 수행하면 되므로, 특별히 시스템의 자원이나 리소를 차지 하지 않는다.
3. 마켓의 등록이나
인터페이스등의 기능을 좀더 추가하면 좋겠지만, 본인은 어플리케이션 프로그래머도 아니고, 별로 관심도 없어서 버전업에 문제가 있을지도.

(사실 이 프로그램은 워낙 간단한 프로그램이라 3-4시간 들여 대충 만든것이다. 나중에 안드로이드 전문 프로그래머 만나면 다 넘겨줘야
겠다.)



기술적 검토사항
- 각종 패치커널(부두, 원펀치,테그라크 등등)의 사용자도 사용할 수 있는가는
속단할 수는 없지만 될 것이라고 본다.
왜냐하면, 현재 IO 스크쥴러의 적용을 물리적 플래시 장치(stl, mmcblk)로 했기
때문에, 어떤 형태의 sd패치를 했다고 할지라도 갤럭시 s의 물리적 디바이스에는 변경이 없기 때문이다.


- stl vs bml
삼성의 oneNAND드라이버의 특수성 때문에 bml과 stl이 존재하는데 실제 적용은 stl로 하였다.
(사실 bml과 stl은 1:1 관계에 있다)


http://blog.naver.com/dowkim10/120119813742
stl은 일반적인
리눅스에서 FTL(Flash Trnasaction Layer)대신 사용한 것으로 journaling 과 wear-leveling의 기능을
담당하는것으로 추측된다.
삼성 RFS의 경우 fsync나 flush에 대해 아주 느린것으로 알려져 있는데, 결국 최종 단계는 stl이므로
stl로 하는것이 맞지 않는가 생각한다.


- IO sheduler의 추가적인 파라미터 검토
quntum, fifo_expire, low_latency 등의 파라미터 또한
설정값의 변경에 따라, 반응성에 차이를 조금더 줄수도 있는데 시간이 좀더 나면 살펴봐야겠다.


추가사항-1 ( 0.2 버전 업데이트 )

0.1 버전 배포후 특별한 버그나 이상증세를 나타내신분이 없으신것으로 판단되며, 순정 및 다양한 패치(내,외장)커널에서도 특별한 문제를 제기하신분은 없었습니다.

0.2 버전은 내용적으로는 동일하며, 단지 부팅시에 IO scheduler(deadline)을 자동 적용되는 옵션을 추가한 것입니다.


변경내용 (major)

- 부팅시마다 deadline IO scheduler 적용 옵션 추가

- 아이콘 변경

- 제작자명 변경 ( 몇가지 어플들을 더 만들것 같아서 통일성이 필요한듯)


사용법및 주의사항

- 이전버전(0.1)사용자는 기존의 어플을 제거하고 0.2버전을 새로 설치하시기 바랍니다.

- 처음 프로그램을 실행한 후 한번은 스케쥴러를 변경는게 좋을듯.

(루팅용 어플이라 해골(superuser.apk)에서 한번은 기억되어야 하기 때문입니다.)

- 리부팅후 상태보기에서 모두 "deadline"으로 변경되어 있으면 제대로 된 것입니다.


도움주신분

- 테이스터스 초이스 (아이콘 제공, http://hamachoi78.blog.me)

- 이카루스님

- 꽁치님



추가사항-2 (마켓 등록버전, 1.1 버전)
변경사항
- 기능은 동일하며, "about" 버튼을 메뉴쪽으로 이동.

마켓주소 (또는 마켓에서 "io scheduler" 또는 "d.w.kim" 으로 검색)
Extra Form
첨부
IOsched_QR.png  [File Size:1.3KB/Download:40]
IOsched-0.2.png  [File Size:88.4KB/Download:299]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.
댓글 109
1 2 3
  • ?
    와앗 ^^ 대박!!!! 감사합니다. 적용해보겠습니다.
  • ?
    요런건 바로 적용~ 문제있음 Reporting 할께요^^
  • ?
    아.. 그런데 어플이 어디에...??? ^^
  • profile
    MINU♡
    10.12.16
    어플이어딧나염 ㅠㅠ ? 링크다가봐도찾기힘드네여 ㅠㅠ
  • ?
    자양
    10.12.16
    어플내에서 여기 주소를 링크를 달려고 했는데, 길어서 인지 잘 안되네요..
    그냥, 맛클주소로 했어요.
  • ?
    적용하려면 외장패치 해제하고 적용을 해야하는가요?
    현제 테그라크(EX4)-외장(원펀치EX2)적용중 입니다.
  • ?
    자양
    10.12.16
    아뇨 그런건 상관없는거로 판단되요.
  • ?
    내장,외장 nilfs2로 되어 있는데
    이 어플 설치해서 io scheduler 변경해도
    아무이상 없나요?
  • ?
    대박 적용해봐야겠네요~ 자양님 짱!ㅋㅋ
  • ?
    Jason219
    10.12.16
    이 글 주소를 짧게 한거에요. 혹시 필요하시면 쓰시길...
    bit.ly/fFRFFW
  • ?
    자양
    10.12.16
    전 일반적으로 사람들이 하는 패치(부두,원펀치,테그라크..)를 안해봐서 내용을 잘 모르지만,
    기술적으로 이런류의 시스템 변경은 이것과 무관할 것으로 생각합니다.
    즉, 이상이 없을 것으로 보입니다.
  • ?
    아아 그렇군요 감사합니다 ^^
    잘 쓰겠습니다
  • ?
    자양
    10.12.16
    호.. 감사...
    다시 적용해 봐야 겠네요,..
  • ?
    자양
    10.12.16
    원래는 주말에 좀 해볼려 했는데, 오늘 좀 시간이 나서..
    eclipse랑 SDK버전이 낮아서 오전에 업데이트하고, 오후에 프로그램짜고 글쓰고 무지 바뻤네요.. 오늘하루
  • ?
    추천 꾹 누르고 갑니다~^^
  • ?
    감사합니다^^
  • ?
    자양
    10.12.16
    네, 외장패치도 포함됩니다.
    제 경우는 좀 다르긴하지만 개인적으로 외장 sd에 /data를 패치해서 씁니다.

    여기서 설정한 것들은 폰을 껏다키면 다 없어지는 내용입니다.
    (여기서 폰을 껏다 킨다는 얘기는 리부팅을 얘기하는겁니다.)
    현재는 번거롭지만, 다시키면 다시 한번더 수행해 줘야합니다.
  • ?
    자양님 이거 부팅할때마다 설정해줘야하는거네요? 부팅할때 기본적으로 같이 실행할 수 있게는 어떻게 하는건가요??
  • ?
    자양
    10.12.16
    저도 안드로이드 전문 프로그래머는 아니라서 잘 모릅니다.
    머 찾아보면 알겠죠..
  • ?
    좋은 자료 감사합니다... 적용해 보겠습니다... ^^
  • ?
    적용해봐야겠네요... 어플로 이리 편히 만들어주시니 감사합니다^^

    추천 도장 찍고갑니다^^
  • ?
    외장패치 적용자도 쓸 수 있는지 궁금하신 분들!
    자양님의 이 어플이나 이전 자양님 원본 스크립트는 외장패치 유무와 관련없이 적용 가능합니다.
    이카루스님이 자양님 스크립트 토대로 짠 패치의 경우에만 외장패치 사용자는 이용하실 수 없을 뿐입니다.
    그리고 이카루스님이 현재 외장패치 적용자도 쓸 수 있도록 개선 중이십니다.
  • ?
    young
    10.12.16
    감사합니다
  • ?
    후얼
    10.12.16
    와하하 adb도 배터터미널도 필요없다니.. 감사드립니다~ 추천~!
  • ?
    아름
    10.12.16
    감사합니다...잘 사용하겠습니다..설치,적용완료..
  • ?
    가츠
    10.12.16
    자양님 감사합니다^^
    추천한방 꾸욱 누르고 다운받아 가요^^
    리부팅 후에도 계속 적용되는 버전이 나오기를 기다려야 겠습니다^^
    이카루스님껀 외장SD패치가 적용이 안되구 자양님껀 부팅후 매번 적용시켜줘야하구^^;
    그래도 외장SD패치 한 상태에서 되니 더할나위 없이 좋네요.

    감사해요~ ^^
  • ?
    자양님 감사합니다. 흠 근데 밑에 있는 이카루스님께서 배포하신 패치 원펀치 외장 패치한거에 적용해도 문제 없던데요? 강종도 안뜨고 ;;; 무한리붓도 안걸리고. 각어플 다 돌려보고 패치 제대로 된거 확인도 됐구요 ;; 프로요에서 느끼지 못했던 부드러움이 ㅎㄷㄷ 합니다.
  • ?
    고란초
    10.12.16
    이거 oclf에 있건걸로 본거 같은데 deadline으로 해보니까
    배터리가 엄청 빨리 닳더라구요 이건 괜찮은지요?
  • ?
    감사합니다~
    그런데 궁금한점이 있네요
    밑에 이카루스님꺼 스케쥴러 변경이랑 자양님꺼랑 다른점이 무엇이죠??
    이카루스님꺼는 외장패치한사람은 적용하지 말라고 하셔서요...
    답변 부탁드려요^^
  • ?
    bvlgaria
    10.12.16
    역시 자양님이 또 한건 해주시는군요..^^ 잘 적용할게요..
  • ?
    자양
    10.12.16
    위 검색어로 구글링 해보니까 아래 글이 나오네요.. 아마 이거 보신듯
    http://forum.xda-developers.com/showthread.php?t=778184
    국내에서도 일부 sd패치적용 후 배터리가 빨리 달았다는 내용의 취지와 같은 내용. (one click lag fix에 대한 내용)

    다른 분들도 사용해보시면 알겠지만 deadline scheduler가 배터리 소모를 증가시킨다 할지라도 아주 미미할 것으로 판단됩니다.
    현재 프로그램이 자유롭게 설정이 가능하니 문제가 있으면 사람들이 글을 올리겠죠.
    (개인적인 견해는 배터리 소모와의 연관성이 거의 없습니다.)
  • ?
    자양
    10.12.16
    실제 변경하는 내용은 똑 같습니다.

    단지, 이카루스님꺼는 부팅시 항상 수행되는 playlogs1이라는 프로그램을 이 스크립트로 대체했기 때문에,
    일부 패치중 playlogs1을 이와같은 용도로 사용한 경우에는 중복되기 때문에 문제를 일으키기 때문이죠.
  • ?
    자양
    10.12.16
    궁금해서 좀더 내용을 검색해봤는데,
    oclf도 deadline scheduler를 쓴거 같네요..

    하지만, 바데리 소모가 높은 것은 oclf가 cpu 클럭을 1.0G에서 1.6G로 올렸기 때문으로 보입니다. (dynamic power management도 껏겠죠)
    (쿼드런트 점수도 3000점이 넘네요.. ㅎㅎ, - 화려한 스팀팩 기술이네요.)
  • ?
    IzMyLuv
    10.12.16
    헐... 정말 님들 덕에 제 갤럭시눈 슈퍼스마트가 되고 있습니다. 감사합니다!
  • ?
    감사합니다 잘쓰겠습니다
  • ?
    똥꼬아프면치과로
    10.12.16
    추천박고 갑니다..잘쓸께용..^^ 우왕..멋져요.. ㅎㅎ :)
  • ?
    고란초
    10.12.16
    제가 oclf라고 얘기한건 마켓에 받았던 프로그램이었습니다. 랙픽스해주는건데(내장 ext2) 스케쥴러 변경하는것도 있더라구요
    처음엔 뭔지도 모르고 호기심에 스케쥴러 변경해봤는데 cfq때보다 deadline바꾸고 나서 눈에띄게 밧데리소모가 심했습니다.
    잠깐동안이었는데 대기상태 1시간정도 되니 밧데리가85%로 바뀌더라구요
    자양님 때문에 스케쥴러 기능을 배웠습니다만 그당시엔 스케쥴러가 윈도우에서 디스크 조각모음같은 건줄 알고
    밧데리 소모가 심해서 cfq로 바꿨거든요
    댓글을 읽어보니 밧데리 빨리 소모되는건 없나봐요
    현재 자양님거 적용해서 사용중입니다.
  • ?
    애드
    10.12.16
    감사합니다 ^^
  • ?
    망각
    10.12.16
    대단하시네요 추천합니다:)
  • ?
    자양
    10.12.16
    이전에 그런 경험이 있으시니, 현재 이 프로그램 사용중 사용중 밧데리 소모의 변화가 있으면 리포팅 해주세요..
  • ?
    폭주윕
    10.12.17
    대단하시네요^^ 추천합니다 ^^
  • ?
    시간이 흐를수록 능력자님들이 많아지니.. 행복해지는 건.. 능력없는 저희들이요.. 힘들어지는 건.. 능력자님들이군요. 능력자님들께.. 무한의 감사를 드립니다. 단지.. 저희가 할 수 있는건.. 따뜻한 격려라고 생각합니다. 항상 감사드립니다.
  • ?
    ad960009
    10.12.17
    부팅시 자동으로 하게 하는건 BroadcastReceiver 상속받으셔서 onReceive 메소드 재정의 해서 해당 작업하게 해주시면될거 같구요
    Manifest.xml 파일에 해당 클래스가 android.intent.action.BOOT_COMPLETED 인텐트 받게 해주시고
    퍼미션 android.permission.RECEIVE_BOOT_COMPLETED 추가 해주시면 될거 같네요.
    잘쓰겠습니다.
  • profile
    이야..... 이거 갤러리 불러오는 속도가 장난 아닙니다.

    아침부터 흥분되네요.

    처름 부두 깔았을 때의 그 감동을 다시 한번 느끼게 됩니다. 감사합니다.
  • ?
    애니스
    10.12.17
    장말이지 맛클의 능력자분들이 있어서 슈퍼갤s를 사용하는것 같습니다 모든 제작자 님들에게 감사의 말씀 드립니다 ^_^
  • ?
    mhklsy
    10.12.17
    감사합니다. 잘쓸께여 점점 더 좋아지는 내 갤스 ㅋㅋ
  • ?
    와우~ 대박~!
    마켓에 한번 올려보심이???
  • ?
    자양
    10.12.17
    감사합니다. ^^

    안드로이드 프로그래밍 잘 하시나 봐요..
    일반적인 안드로이드 프로그래밍에는 startup 어플리케이션 제작부분의 내용은 없는것 같던데..
    많은 도움이 된것 같습니다.
  • ?
    05king
    10.12.17
    저도 한번 신세계를 맛 봐야겠네요

    감사^^
  • ?
    자양
    10.12.17
    저는 아직 개발자 등록은 안했어요..

    사실 여러가지 어플들에 대한 아이디어는 있는데, 전 어플리케이션쪽은 관심은 없어서..
    (이걸로 아르바이트나 할까.. 혹시 여러개 올리면 그중에 대박 칠지도.. ㅎㅎ)
댓글 쓰기 권한이 없습니다.
최신순 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2