現在メインで使用している脱獄環境(Dopamine)にて異常なバッテリー消費が発生し、デバイスがアツアツな状態…になってしまいました。
こういった際、何かしらのプロセスが暴走している…という場合が多く、サクッと確認するのに【CocoaTop】を使用するのが一般的かなと思います。
ですが、DopamineのRootless環境などでは現状公式対応はしておらず、暴走プロセスの確認がうまく行えない…。
ということで、今回は王道である【top】コマンドを使用して各プロセスのCPU利用率を確認する方法について記しておきたいと思います。
CocoaTopが使えない?
DopamineなどのRootless環境ではCocoaTopが公式対応しておらず、使用することができません。
ではTrollStore版CocoaTopはどうか…というと、うまく各プロセスのCPU利用率が取得できず、今回の暴走プロセスの確認には使いにくい…。
使える方法もある
ちなみに、ちょっとした裏技?として、無理矢理CocoaTopをRootless用に変換したり、手動配置&手動署名すると使えたりもします(変換済みCocoaTopを配布しているリポジトリもあったりしますが)。
王道「top」コマンドで確認
もちろんRootless用に変換したCocoaTopで確認してもイイのですが、今回は【top】コマンドを使用して確認していきます(CocoaTopもこのtopコマンドを見やすくしたアプリ…なので、こちらが王道といえば王道)。
実際にバッテリーの異常消費が発生していた私のデバイスにて【top】コマンドを使用してみたところ…「ReportCrash」がCPUを196.7%も使っている状態であり、これが今回の原因!と判断が行なえます。
topをインストール
topコマンドを使えるようにするにはDopamineなどのデフォルトリポジトリであるProcursusより【top】をインストールするだけでオーケー。
またターミナルアプリはDopamine環境であれば【NewTerm 3 Beta】が使用可能なので、こちらもCharizリポジトリからインストールしておくと便利です。
ちなみに他の手段としてはSSH接続できる状態にしておき、AppStore等からターミナルアプリをインストール&ローカル接続してしまうという手法もあったりします。使いやすい方で大丈夫です。
使い方は簡単
topコマンドには色々とオプションがあるのですが、CPU利用率を調べるだけであれば非常に簡単!
【sudo top】というコマンドを実行するだけです。sudo初回実行時はパスワードを要求されますので、Dopamineで脱獄した際に設定したパスワードを入力(画面には反映されませんが入力されています)し、エンターを押すだけ。
するとCPU利用率が多い順に各プロセスが表示されますので、異常にCPU利用率が高いプロセスを確認するだけ!
〆
基本的にはUserspaceの再起動を実行するとプロセスの暴走は収まる…のですが、よく再発するという場合はそのデーモンをオフにするなどで対策しちゃうのも手(重要なデーモンの可能性もあるので、実行前に色々と確認しましょう)。
今回はUserspaceの再起動を行った直後は暴走が停止されるのですが、放置しているとまた再発してしまったので…ReportCrashのデーモンをオフにして対処。
その後は再発していないようなので、とりあえず一安心です…。
コメント
実行前に色々と確認しましょう
とは、どのような点をどのような方法でかくにんするのですか?
わからないなら触らないように^^;
いや、記事にしてるのに、そこ紹介しないのは意味わかんなくない?
デーモンはすごくたくさんあり、全てを網羅するのは現実的ではなかったりします…。
どのデーモンがどのような動作なのかはすでに色々な方により調査済みですので、検索等していただくのが早いです(iCleaner Pro内にも解説が入っています)。
原因を特定できましたら、まずはそちらのプロセス名で検索等をしていただくのが一番確実で早いです。
もしデーモンであれば、ほぼ全てがすでに「どのような動作か」が調査済みですので、そちらを確認していただき、安全かどうかを確認してみてください。
モバイルのパスワードが打ち込めません。
純正キーボードです。
sudo topのコマンドはうてて
要求画面でなにもいれれなくなります。
パスワードは入力されるけど非表示だよ?
無知ですまない。
助かった!(mobileパスワード忘れた)
sudo topで打っても表示されない……
表示されました!
sudo:top:command not found
となります。
iPhone14pro
ios16.3
topは正常にインストールされていますでしょうか?