Android ADBシェルの「dumpsys」ツールとは何ですか?その利点は何ですか?


140

dumpsysすべてのコマンドの完全な説明を含むADBシェルコマンドの完全なリストを探しています。

この情報はどこにありますか?

回答:


247

dumpsysとは何ですか?その利点は何ですか?

dumpsysは、デバイスで実行され、システムサービスのステータスに関する興味深い情報をダンプするAndroidツールです。

明らかな利点:

  1. 単純な文字列表現でシステム情報を簡単に取得する可能性。
  2. ダンプされたCPU、RAM、バッテリー、ストレージ統計を使用して、かなりのチャートを作成する可能性。これにより、アプリケーションがデバイス全体に与える影響を確認できます。

dumpsysシェルコマンドから取得できる情報とその使用方法

dumpsysを実行すると、大量のシステム情報が表示されます。ただし、この大きなダンプの個別の部分しか使用できません。

dumpsysの「サブコマンド」をすべて表示するには、次のようにします。

dumpsys | grep "DUMP OF SERVICE"

出力:

DUMP OF SERVICE SurfaceFlinger:
DUMP OF SERVICE accessibility:
DUMP OF SERVICE account:
DUMP OF SERVICE activity:
DUMP OF SERVICE alarm:
DUMP OF SERVICE appwidget:
DUMP OF SERVICE audio:
DUMP OF SERVICE backup:
DUMP OF SERVICE battery:
DUMP OF SERVICE batteryinfo:
DUMP OF SERVICE clipboard:
DUMP OF SERVICE connectivity:
DUMP OF SERVICE content:
DUMP OF SERVICE cpuinfo:
DUMP OF SERVICE device_policy:
DUMP OF SERVICE devicestoragemonitor:
DUMP OF SERVICE diskstats:
DUMP OF SERVICE dropbox:
DUMP OF SERVICE entropy:
DUMP OF SERVICE hardware:
DUMP OF SERVICE input_method:
DUMP OF SERVICE iphonesubinfo:
DUMP OF SERVICE isms:
DUMP OF SERVICE location:
DUMP OF SERVICE media.audio_flinger:
DUMP OF SERVICE media.audio_policy:
DUMP OF SERVICE media.player:
DUMP OF SERVICE meminfo:
DUMP OF SERVICE mount:
DUMP OF SERVICE netstat:
DUMP OF SERVICE network_management:
DUMP OF SERVICE notification:
DUMP OF SERVICE package:
DUMP OF SERVICE permission:
DUMP OF SERVICE phone:
DUMP OF SERVICE power:
DUMP OF SERVICE reboot:
DUMP OF SERVICE screenshot:
DUMP OF SERVICE search:
DUMP OF SERVICE sensor:
DUMP OF SERVICE simphonebook:
DUMP OF SERVICE statusbar:
DUMP OF SERVICE telephony.registry:
DUMP OF SERVICE throttle:
DUMP OF SERVICE usagestats:
DUMP OF SERVICE vibrator:
DUMP OF SERVICE wallpaper:
DUMP OF SERVICE wifi:
DUMP OF SERVICE window:

いくつかのダンプの例と出力

1)可能なすべてのバッテリー統計の取得:

$~ adb shell dumpsys battery

あなたは出力を得るでしょう:

Current Battery Service state:
AC powered: false
AC capacity: 500000
USB powered: true
status: 5
health: 2
present: true
level: 100
scale: 100
voltage:4201
temperature: 271 <---------- Battery temperature! %)
technology: Li-poly <---------- Battery technology! %)

2)wifi情報の取得

~$ adb shell dumpsys wifi

出力:

Wi-Fi is enabled
Stay-awake conditions: 3

Internal state:
interface tiwlan0 runState=Running
SSID: XXXXXXX BSSID: xx:xx:xx:xx:xx:xx, MAC: xx:xx:xx:xx:xx:xx, Supplicant state: COMPLETED, RSSI: -60, Link speed: 54, Net ID: 2, security: 0, idStr: null
ipaddr 192.168.1.xxx gateway 192.168.x.x netmask 255.255.255.0 dns1 192.168.x.x dns2 8.8.8.8 DHCP server 192.168.x.x lease 604800 seconds
haveIpAddress=true, obtainingIpAddress=false, scanModeActive=false
lastSignalLevel=2, explicitlyDisabled=false

Latest scan results:

Locks acquired: 28 full, 0 scan
Locks released: 28 full, 0 scan

Locks held:

3)CPU情報の取得

~$ adb shell dumpsys cpuinfo

出力:

Load: 0.08 / 0.4 / 0.64
CPU usage from 42816ms to 34683ms ago:
system_server: 1% = 1% user + 0% kernel / faults: 16 minor
kdebuglog.sh: 0% = 0% user + 0% kernel / faults: 160 minor
tiwlan_wq: 0% = 0% user + 0% kernel
usb_mass_storag: 0% = 0% user + 0% kernel
pvr_workqueue: 0% = 0% user + 0% kernel
+sleep: 0% = 0% user + 0% kernel
+sleep: 0% = 0% user + 0% kernel
TOTAL: 6% = 1% user + 3% kernel + 0% irq

4)メモリ使用量情報の取得

~$ adb shell dumpsys meminfo 'your apps package name'

出力:

** MEMINFO in pid 5527 [com.sec.android.widgetapp.weatherclock] **
                    native   dalvik    other    total
            size:     2868     5767      N/A     8635
       allocated:     2861     2891      N/A     5752
            free:        6     2876      N/A     2882
           (Pss):      532       80     2479     3091
  (shared dirty):      932     2004     6060     8996
    (priv dirty):      512       36     1872     2420

 Objects
           Views:        0        ViewRoots:        0
     AppContexts:        0       Activities:        0
          Assets:        3    AssetManagers:        3
   Local Binders:        2    Proxy Binders:        8
Death Recipients:        0
 OpenSSL Sockets:        0


 SQL
               heap:        0         MEMORY_USED:        0
 PAGECACHE_OVERFLOW:        0         MALLOC_SIZE:        0

すべてのプロセスの情報を見たい場合は、 ~$ adb shell dumpsys meminfo

ここに画像の説明を入力してください

dumpsysは究極的に柔軟で便利なツールです!

このツールを使用する場合は、Androidマニフェストに自動的に権限を追加することを忘れないでください android.permission.DUMP

dumpsysの詳細については、すべてのコマンドをテストしてみてください。ハッピーダンピング!


5
これはどこかのドキュメントからですか、それともあなた自身の実験ですか?
brianestey 2012年

10
また、非常に便利です:adb shell dumpsys activity broadcasts、
show

Kitkatから(私は思う)、「batteryinfo」は「batterystats」に置き換えられ、その出力と使用法も異なっているようです。
Android開発者

1
dumpsysは信じられないほど強力です。通常は取得できないAndroidコアサービスのプライベートな値を報告します。
Kevin Mark、

1
残念ながら、Javaプログラムで使用するにはrootまたはシステムレベルの権限が必要です。
umesh 2015

60

dumpsysserviceのソースコードを見ると、次のコマンドを実行して、利用可能なサービスのリストを取得できます。

adb shell service -l

次に、興味のあるサービス名をdumpsysに指定して、特定の情報を取得できます。例(すべてのサービスがダンプ情報を提供するわけではないことに注意してください):

adb shell dumpsys activity
adb shell dumpsys cpuinfo
adb shell dumpsys battery

コード(およびK_Anasの回答)を見るとわかるように、サービス名を指定せずにdumpsysを呼び出すと、すべてのサービスに関する情報が1つの大きなダンプにダンプされます。

adb shell dumpsys

一部のサービスは、-h引数を指定した場合に通常説明される内容を示す追加の引数を受け取ることができます。次に例を示します。

adb shell dumpsys activity -h
adb shell dumpsys window -h
adb shell dumpsys meminfo -h
adb shell dumpsys package -h
adb shell dumpsys batteryinfo -h

13

dumpsysに関する公式のAndroid情報によると:

dumpsysツールは、デバイス上で動作し、システムサービスのステータスに関する情報を提供します。

利用可能なサービスのリストを取得するには

adb shell dumpsys -l

1
これが反対投票された理由がわかりません。これは便利なリンクです。利用可能なサービスのリストは-l私のロリポップでは機能しますが、ジェリービーンでは機能しません。
starfry

1
この回答には、実際のドキュメントへのポインタが含まれています。OPが求めていたのはこれだと思います
Robert R Evans

3年前の回答と比較して新しい情報がないため、反対票が投じられた可能性があります。
topher217

0

アプリがクラッシュし、プロセスがまだアクティブである場合、私はdumpsysを使用てキャッチします。リモートマシンのアプリがクラッシュしたかどうかを見つけるために使用した状況。

dumpsys | grep myapp | grep "Application Error" 

または

adb shell dumpsys | grep myapp | grep Error

または役立つもの...など

アプリが実行されていない場合、結果として何も得られません。アプリが停止すると、メッセージがandroidによって画面に表示されますが、プロセスはまだアクティブであり、「ps」コマンドなどを使用して確認すると、プロセスの状態がエラーやクラッシュの意味を示していないことがわかります。ただし、ボタンをクリックしてメッセージを閉じると、アプリプロセスはプロセスリストから削除されます。そのため、アプリケーションにコードがなくてもクラッシュ状態をキャッチすることは困難です。しかし、dumpsysが役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.