2

Androidは、特定のシナリオでcom.net.myspeechserviceパッケージ内のサービスを強制終了します。たとえば、電話で電話がかかってきた場合、サービスを強制終了します。logcatはこれらの統計を表示します。

CPUの負荷が原因で強制終了されたことは明らかです。

私が得られないのは、CPU消費の何パーセントが私のアプリによって引き起こされたのかということです??? まったく表示されていません。

私は次の手段を取得しませんか?

Load: 3.13 / 2.78 / 2.26

これらの統計から、アプリが原因で発生した割合をどのように評価できますか。

お知らせ下さい。

ありがとう、

06-21 06:44:35.042: E/ActivityManager(88): ANR in com.net.myspeechservice
06-21 06:44:35.042: E/ActivityManager(88): Reason: Executing service com.net.myspeechservice/.services.ManagementService
06-21 06:44:35.042: E/ActivityManager(88): Load: 3.13 / 2.78 / 2.26
06-21 06:44:35.042: E/ActivityManager(88): CPU usage from 10340ms to 0ms ago:
06-21 06:44:35.042: E/ActivityManager(88):   44% 178/com.android.phone: 43% user + 1.8% kernel / faults: 179 minor
06-21 06:44:35.042: E/ActivityManager(88):   25% 36/surfaceflinger: 21% user + 3.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):   10% 38/mediaserver: 8.1% user + 2.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):   5.1% 1496/android.process.acore: 2.8% user + 2.3% kernel / faults: 3984 minor
06-21 06:44:35.042: E/ActivityManager(88):   3.3% 150/com.android.systemui: 3.3% user + 0% kernel / faults: 6 minor
06-21 06:44:35.042: E/ActivityManager(88):   1.9% 45/adbd: 0.2% user + 1.6% kernel / faults: 420 minor
06-21 06:44:35.042: E/ActivityManager(88):   0.6% 88/system_server: 0.3% user + 0.2% kernel / faults: 1 minor
06-21 06:44:35.042: E/ActivityManager(88):   0% 6391/ekawas.blogspot.com: 0% user + 0% kernel / faults: 40 minor
06-21 06:44:35.042: E/ActivityManager(88):   0.1% 35/rild: 0% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88): 100% TOTAL: 82% user + 17% kernel + 0.1% softirq
06-21 06:44:35.042: E/ActivityManager(88): CPU usage from 1521ms to 2139ms later:
06-21 06:44:35.042: E/ActivityManager(88):   41% 178/com.android.phone: 40% user + 1.6% kernel / faults: 1 minor
06-21 06:44:35.042: E/ActivityManager(88):     50% 178/m.android.phone: 48% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 235/RILReceiver: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88):   29% 36/surfaceflinger: 22% user + 6.4% kernel
06-21 06:44:35.042: E/ActivityManager(88):     22% 61/SurfaceFlinger: 19% user + 3.2% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 36/surfaceflinger: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 63/Binder Thread #: 1.6% user + 0% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 109/Binder Thread #: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 1283/Binder Thread #: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):   16% 38/mediaserver: 11% user + 4.9% kernel
06-21 06:44:35.042: E/ActivityManager(88):     6.5% 1551/gle.mp3.decoder: 4.9% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):     3.2% 1553/AudioTrackThrea: 1.6% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 72/AudioOut_1: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):     1.6% 1552/OMXCallbackDisp: 0% user + 1.6% kernel
06-21 06:44:35.042: E/ActivityManager(88):   9.6% 88/system_server: 4.8% user + 4.8% kernel
06-21 06:44:35.042: E/ActivityManager(88):     8% 103/ActivityManager: 4.8% user + 3.2% kernel
06-21 06:44:35.042: E/ActivityManager(88):   1.6% 1496/android.process.acore: 0% user + 1.6% kernel / faults: 196 minor
06-21 06:44:35.042: E/ActivityManager(88):     3.3% 1542/ApplicationsPro: 0% user + 3.3% kernel
06-21 06:44:35.042: E/ActivityManager(88): 100% TOTAL: 82% user + 17% kernel
4

1 に答える 1

1

ロードラインは、すべてのスレッドをリアルタイムで操作するために必要なCPUコアの量を示しています。つまり、負荷が1の場合は、その期間に単一のコアを完全に利用していることを意味します。5の負荷は、リアルタイムで動作するために5つのコアが必要になることを意味します。または、2つのコアがある場合は、それらを150%過負荷にします。

Load: X / Y / Z

負荷は、さまざまな時間枠での負荷を示すために3つの数値として表示されます。通常、1分、5分、15分として与えられます。

ログの残りの部分を見始めることはできませんが、アプリのパッケージ名がわからない場合。推測ではekawas.blogspot.com(2番目のスナップショットから欠落しています)、アプリからのCPU負荷が問題ではないことを示しています。ただし、メモリの問題である可能性があります。

于 2012-06-21T02:21:49.397 に答える