脱獄デバイスで充電中に勝手に再起動する問題と対処法 [再起動病]

脱獄しているデバイスで夜中に充電中に再起動されていた、という問題をたまに耳にする。いくつかの噂ではiCloudの自動バックアップを無効にすると解決したという話をたまに聞くが、具体的な原因はわからないままだった。

この問題に関して海外の掲示板redditで原因と回避出来る方法が紹介されていたのでここでも簡単に説明する。

メモリ制限を超えた時に再起動

redditユーザーのTuttoVaBene氏の説明によると、この再起動は一定のメモリ制限を超えるタイミングで起こっているのではないかと考えられる。

how-to-stop-random-reboot-iphone-at-night-1

設定>プライバシー>診断/使用状況>診断データと使用状況データ

へ進むと、SystemMemoryResetから始まる項目を見つけることができる。
この項目は、予期しない問題を引き起こしシステムのメモリ制限が超過したことを示している。

how-to-stop-random-reboot-iphone-at-night-2

上記のスクリーンショットの場合、メモリ制限は256MBに設定したが、330.65MBを必要としたためデバイスが再起動したということになる。

これに目をつけたTuttoVaBene氏はメモリ制限を上げるとこの問題を防止することができるのではないかと考えた。そして以下で説明するのがメモリ制限を増やす手順である。

メモリ制限を増やす方法

手順を始める前に

以下で説明する手順はシステムを書き換える内容であるため、何をやっているのかを理解できるユーザーのみ自己責任で行っていただきたい。また全てのデバイスで解決できるかどうかはわからない為、解決しない場合はデフォルト設定に戻しておくことをおすすめする。

以下の手順はCydiaからiFileまたはFilza File Managerをインストールしておく必要があり、iOS 9での手順である。

how-to-stop-random-reboot-iphone-at-night-3

  1. /System/Library/LaunchDaemonsに移動する。
  2. com.apple.jetsamproperties.Nxx.plistをタップする。
    (iFileの場合はタップ後にプロパティリストビューアーを選択)
  3. Root>Version4>System>Override>Globalの順で移動する。
    (iFileの場合はRootは無し)
  4. UserHighWaterMarkの値を変更する。
    (デフォルト値はデバイスによって異なる)

値は自分のデバイスで使用可能なメモリの上限を超さない範囲であれば入力可能である。例えばメモリが2GBのデバイスを使用している場合は2048(MB)より上に値を設定してはいけない。

もし似たようなplistファイルでcom.apple.jetsamproperties.N56m.plistというような、「m」が.plistの直前に付いているファイルがあれば、同じ手順で変更する。

 

上記で説明したとおり、全てのデバイスで解決するかどうかわからないが、もし困っている脱獄ユーザーがいれば試してみると良いかもしれない。

 

via:iDB