ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 메모리확보
    iPhone/TIP 2010. 5. 17. 05:07
     

    웹서핑중 우연히 탈옥된 아이폰, 아이팟터치에서 가상메모리를 사용할 수 있는 방법을 발견해서 관련 내용을 포스팅해봅니다.

    간략한 작동원리는 물리 메모리량이 30MB 이하로 남게되면 자동으로 데몬이 가상메모리를 사용하게 되는데 그 가상메모리가 저장되는 공간은 아이폰, 아이팟터치의 /var/vm 폴더 저장소에 Swapfile 이라는 파일을 생성해 가상메모리로 활용하게 되는데요.

    덕분에 웬만큼 백그라운드 작업에도 30MB 이하로 남은 메모리량이 떨어지지 않습니다. olleh~!
    참고로 가상메모리파일의 기본 용량 설정은 256MB 로 되어있습니다.


    먼저 약간의 알려진 버그를 말씀드리자면 몇몇 사용자들은 SBSettings 띄울때 약간의 딜레이가 생긴다고 하는데 제 경우는 별로 못느끼겠네요.

    개인적인 느낌으로 일단 아이팟터치를 사용할때 기분탓인지 조금 쾌적해진 느낌입니다.
    이전에는 대략 30MB 정도에서 머물던 것이 가상메모리 활성화 이후 평균적으로 홈화면에서 50MB 정도에 머무르는 편입니다.

    아이폰 3GS 사용자의 경우는 여유 메모리가 120MB를 상회하더군요. 256MB 의 위력인지 ( '-')b


    위와 같은 장점에도 불구하고 좀 크리티컬한 이슈가 존재하는데요.

    * 아이폰, 아이팟터치의 저장매체인 플래시 메모리의 특성으로 지우기 횟수 제한에 따라 아이폰,아이팟터치의 플래시 메모리의 수명이 단축 될 수 있으니 이 사실을 충분히 인지 하시고 해당 어플을 설치, 사용하시기 바랍니다.

    ※ 아이폰, 아이팟터치 가상메모리 기능의 사용으로 인해 발생한 기기 손상에 대한 모든 책임은 해당 사용자에게 있음을 밝힙니다.





    위에서 말씀드렸던 아이폰,아이팟터치의 플래시 메모리 수명 단축과 관련하여 충분히 인지 하셨나요?

    설치,사용에 따른 기기 손상에 따른 모든 책임은 본인에게 있습니다. 동의 하시나요?


    "예" 라고 대답하신분들만 다음 설치 과정으로 진행해주세요.

    자! 그럼 설치를 해볼까요?



       가상메모리 어플 설치 / 삭제  

    먼저 아래 파일을 다운로드 받습니다.

    설치방법은 deb 설치방법 참고.

    수동설치하실 분들은 아이폰,아이팟터치에서 MobileTerminal 에서 iPhoneVM.deb 파일을 복사한 폴더로 이동 후 아래 명령어로 설치하시면 됩니다.
    dpkg -i iPhoneVM.deb


    설치 후 Reboot을 해주면 완료됩니다.
    (반드시 Reboot 해야 적용됩니다. CydiaAutoInstall 기능으로 설치하신 경우 Reboot 총 두번 해야됩니다.)


    아이콘이나 설정등이 전혀 생성되지 않으니 정상 설치 여부를 확인하시려면
    /var/vm

    위 폴더를 확인하시어 Swapfile 이 존재하는지 확인 해보세요.



    삭제는 Cydia 에서도 가능하고 MobileTerminal 에서도 아래 명령어로 가능합니다.
    dpkg -r vm



       가상메모리 크기 변경  


    가상메모리의 크기를 변경하기 위해서는 설정파일을 직접 수정해줘야하는데요
    /System/Library/LaunchDaemons/com.apple.vm.plist

    위 경로의 파일을 열어보면
    <key>ProgramArguments</key>
    <array>
    <string>/sbin/vm</string>
    <string>-S</string>
    <string>268435456</string>
    </array>
    위 XML 태그를 보실 수 있는데요.

    그 중 굵은글씨로 표시된 268435456 이 부분이 메모리의 용량입니다.
    단위는 bytes 이구요.


    어떤 유저들은 2G 씩이나 잡아둔 경우도 있는데 그렇게 많이 잡을 필요는 없고,
    일반적으로 가상메모리는 Physical 메모리의 1.5~2배 정도가 권장사이즈 입니다.



       가상메모리 관련 issue  

    가상메모리 파일을 Flash 메모리 상에 생성해 읽고,쓰기를 반복하게 되므로 아이폰, 아이팟터치의 Flash 메모리 수명이 줄어들 가능성이 존재함.

    또한 블럭단위 지우기 횟수를 고르게 배분해 최대한의 플래시 메모리 수명을 유지하도록 하는 제어기능 아래에서 이 가상메모리 어플이 동작을 하게 되는지 여부도 불분명해 특정 블럭의 수명만 급격히 줄어들 우려.


    ※ 아이폰, 아이팟터치 가상메모리 기능의 사용으로 인해 발생한 기기 손상에 대한 모든 책임은 해당 사용자에게 있음을 밝힙니다.



    플래시 메모리의 한계?

    ...
    플래시 메모리의 한계는 블록 내에서 특정 단위로 읽고 쓸 수 있지만, 블록 단위로 지워야 한다는 것이다. 또한 덮어 쓸 수 없으므로, 모든 블록을 지우기 전까지는 해당 자료를 변경할 수 없다.

    NOR 플래시의 경우, 임의 접근 방식으로 바이트 또는 워드 단위로 읽기/쓰기 동작이 가능하지만 덮어 쓰기와 지우기 동작은 임의로 접근할 수 없다. NAND 플래시는 페이지 단위로 읽기/쓰기 동작이 가능하지만 해당 페이지를 덮어 쓰거나 지우려면 모든 블록을 지워야 한다.(NAND 플래시는 블록을 여러 페이지로 나누어 사용한다).

    하드 디스크와 비교할 때, 더 큰 한계는 지우기 횟수가 제한되어 있다는 점이다. (대부분 상업적으로 쓰이는 플래시 메모리 제품의 경우 백만 번까지 보증한다). 그래서 운영체제와 같이 하드 디스크를 기반으로 하는 응용 프로그램이 컴팩트 플래시와 같은 플래시 메모리 기반 장치를 사용할 때는 각별한 보호가 있어야 한다. 그래서 이러한 한계를 극복하기 위해 칩 펌웨어 또는 파일 시스템 드라이버에서 블록의 지우기 횟수를 세고 모든 블록이 고루 쓰이도록 블록을 유동적으로 다시 배치한다. 또한 쓰기 동작이 유효한지 확인하고, 전체 공간의 일부를 여유 블록으로 할당하여 불량 블록이 발생하면 여유 블록으로 대체하도록 한다.

    ...

    'Phone > TIP' 카테고리의 다른 글

    아이폰 변경 설정  (0) 2010.06.14
    기타설명들  (0) 2009.12.16
    문자음,이메일알림음등 변경  (0) 2009.12.15
    timer  (0) 2009.12.15
    아이폰 미국계정 만들기  (0) 2009.12.15

    댓글

Designed by Tistory.