6、Dumpsy命令详解

Dumpsys 介绍

Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息

命令格式: adb shell dumpsys [system serbices]

常用dumpsys命令:

1、包信息查询

子命令格式:adb shell dumpsys package [-h] [-f] [—checkin] [cmd]…

2、activity信息查询

子命令格式:adb shell dumpsys activity [-a] [-c]…

3、网络信息查询

网络连接 adb shell dumpsys connectivity

网络策略 adb shell dumpsys netpolicy

网络状态adb shell dumpsys netstats

网络管理adb shell dumpsys network_management

4、其他常用服务信息查询

内存 adb shell dumpsys meminfo
CPU adb shell dumpsys cpuinfo
帧率 adb shell dumpsys gfxinfo
显示 adb shell dumpsys display
电源 adb shell dumpsys power
电池状态 adb shell dumpsys batterystats
电池 adb shell dumpsys battery
闹钟 adb shell dumpsys alarm
位置 adb shell dumpsys location

 

XXX-MacBook-Pro:CPU chunyanzhang$ adb shell dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 50300049 Realtime: 276735636

Total PSS by process:
    566,155K: com.XXX.XXXhdmap (pid 24133 / activities)
    252,696K: system (pid 1364)
    141,726K: com.zui.launcher (pid 2260 / activities)
    120,825K: com.lenovo.menu_assistant (pid 23966)
    118,156K: com.android.systemui (pid 1840)
    118,023K: com.sohu.inputmethod.sogou (pid 4172)
    107,170K: surfaceflinger (pid 847)
     92,791K: com.XXX.ivi.setting (pid 24310)
     82,115K: com.google.android.gms (pid 18481)
     55,604K: com.zui.safecenter (pid 2742)
     52,346K: com.google.android.gms.persistent (pid 2628)
     45,980K: com.google.android.gms.unstable (pid 9581)
     44,074K: android.hardware.camera.provider@2.4-service_64 (pid 742)
     38,231K: com.zui.launchersdk (pid 3379)
     36,110K: com.zui.bugtogo (pid 4047)
     30,629K: com.zui.cloudservice (pid 23506)
     29,946K: com.lenovo.ue.device (pid 2867)
     22,618K: com.zui.calendar (pid 30343)
     21,805K: com.lenovo.process.weathercenter (pid 3399)
     20,713K: com.android.phone (pid 2141)
     20,490K: com.zui.gallery (pid 24086)
     19,165K: android.process.acore (pid 10581)
     18,425K: com.zui.userexperience (pid 6159)
     15,778K: com.lenovo.lsf.device (pid 5828)
     15,106K: logd (pid 555)
     14,950K: android.hardware.audio@2.0-service (pid 738)
     12,942K: com.zui.homesettings (pid 9110)
     12,444K: com.zui.sdac:cns (pid 6108)
     11,819K: com.zui.networkaclr (pid 2162)
     11,398K: com.zui.xlog (pid 2715)
     11,126K: com.baidu.map.location (pid 3131)
     11,058K: com.zui.xlog:usage (pid 17474)
     11,019K: android.hardware.wifi@1.0-service (pid 760)
     10,975K: audioserver (pid 825)
     10,624K: android.process.media (pid 19721)
     10,022K: media.extractor (pid 981)
      9,887K: com.zui.tassistent (pid 2777)
      9,826K: android.hardware.graphics.composer@2.3-service (pid 749)
      9,745K: com.zui.bugtogo:remote (pid 7426)
      9,686K: .qtidataservices (pid 2045)
      9,685K: com.google.process.gservices (pid 9323)
      9,318K: android.ext.services (pid 2210)
      9,245K: com.qualcomm.qti.workloadclassifier (pid 2925)
      8,854K: com.zui.weather (pid 14912)
      8,160K: com.zui.wifip2p (pid 2896)
      8,124K: com.android.providers.calendar (pid 9930)
      7,406K: zygote (pid 652)
      7,004K: android.hardware.gnss@2.0-service-qti (pid 748)
      6,752K: com.lenovo.family.mdmagent (pid 2798)
      6,713K: com.zui.ota (pid 4504)
      6,691K: webview_zygote (pid 2001)
      6,386K: com.dolby.daxservice (pid 2748)
      6,029K: mediaserver (pid 993)
      5,972K: com.lenovo.levoice_agent (pid 3200)
      5,906K: com.zui.sdac (pid 2685)
      5,696K: com.lenovo.ue.device.daemon (pid 23219)
      5,615K: wpa_supplicant (pid 1890)
      5,386K: com.zui.cores (pid 2118)
      5,358K: media.metrics (pid 990)
      5,184K: media.swcodec (pid 1068)
      4,989K: media.codec (pid 1040)
      4,924K: netd (pid 650)
      4,910K: .dataservices (pid 1965)
      4,903K: com.qualcomm.qti.telephonyservice (pid 2076)
      4,815K: init (pid 1)
      4,779K: com.qualcomm.qti.services.secureui:sui_service (pid 2949)
      4,665K: com.qualcomm.qcrilmsgtunnel (pid 2331)
      4,662K: zygote64 (pid 651)
      4,604K: com.dolby.dolbyvisionservice (pid 2096)
      4,504K: com.qualcomm.qti.services.systemhelper:systemhelper_service (pid 2818)
      4,454K: xtra-daemon (pid 1120)
      4,441K: com.android.se (pid 2843)
      4,272K: cameraserver (pid 969)
      4,104K: com.android.smspush (pid 2976)
      3,561K: drmserver (pid 974)
      3,335K: vendor.qti.hardware.perf@2.0-service (pid 773)
      3,230K: cnd (pid 1041)
      3,183K: android.hardware.neuralnetworks@1.2-service-qti (pid 754)
      2,876K: media.hwcodec (pid 787)
      2,812K: android.hardware.sensors@2.0-service (pid 756)
      2,597K: adbd (pid 2729)
      2,505K: vold (pid 589)
      2,391K: keystore (pid 979)
      2,345K: cnss_diag (pid 965)
      2,280K: vendor.qti.hardware.iop@2.0-service (pid 772)
      2,248K: lowi-server (pid 1119)
      2,165K: ueventd (pid 540)
      2,156K: chre (pid 1096)
      2,081K: thermal-engine (pid 962)
      2,064K: init (pid 538)
      2,039K: statsd (pid 1000)
      1,997K: vendor.dolby.hardware.dms@2.0-service (pid 1127)
      1,990K: installd (pid 977)
      1,922K: storaged (pid 1001)
      1,914K: top (pid 27051)
      1,804K: adsprpcd (pid 1060)
      1,701K: cnss-daemon (pid 1069)
      1,594K: tloc_daemon (pid 1116)
      1,580K: init (pid 539)
      1,571K: imsdatadaemon (pid 1181)
      1,569K: ims_rtp_daemon (pid 966)
      1,543K: qseecomd (pid 573)
      1,538K: hwservicemanager (pid 557)
      1,493K: mediadrmserver (pid 980)
      1,492K: perfservice (pid 994)
      1,489K: android.hardware.drm@1.2-service.widevine (pid 747)
      1,442K: pm-service (pid 816)
      1,432K: wificond (pid 1002)
      1,396K: vendor.qti.hardware.display.allocator-service (pid 769)
      1,388K: wifidisplayhalservice (pid 1048)
      1,387K: update_engine (pid 1103)
      1,386K: android.hardware.keymaster@4.0-service-qti (pid 572)
      1,330K: android.hardware.configstore@1.1-service (pid 744)
      1,313K: android.hardware.biometrics.fingerprint@2.1-service (pid 1110)
      1,297K: android.hardware.drm@1.2-service.clearkey (pid 746)
      1,282K: apexd (pid 633)
      1,238K: dpmQmiMgr (pid 1049)
      1,233K: imsrcsd (pid 964)
      1,225K: gpuservice (pid 837)
      1,220K: hq_ftm (pid 808)
      1,219K: vendor.qti.hardware.sensorscalibrate@1.0-service (pid 780)
      1,199K: sensors.qti (pid 871)
      1,195K: android.system.suspend@1.0-service (pid 740)
      1,187K: vppservice (pid 789)
      1,185K: vendor.qti.hardware.cvp@1.0-service (pid 768)
      1,177K: android.hardware.drm@1.0-service (pid 745)
      1,125K: incidentd (pid 976)
      1,125K: wfdhdcphalservice (pid 1003)
      1,121K: android.hardware.bluetooth@1.0-service-qti (pid 741)
      1,102K: loc_launcher (pid 1090)
      1,100K: hvdcp_opti (pid 1665)
      1,091K: gatekeeperd (pid 1097)
      1,089K: vendor.qti.hardware.capabilityconfigstore@1.0-service (pid 767)
      1,076K: vendor.qti.hardware.qteeconnector@1.0-service (pid 776)
      1,072K: vendor.qti.hardware.qseecom@1.0-service (pid 574)
      1,040K: vendor.qti.hardware.tui_comm@1.0-service-qti (pid 786)
      1,036K: vendor.display.color@1.0-service (pid 761)
      1,035K: ssgtzd (pid 2515)
      1,017K: android.hardware.usb@1.0-service (pid 758)
      1,005K: time_daemon (pid 645)
      1,001K: pm-proxy (pid 958)
        997K: pd-mapper (pid 810)
        969K: android.hardware.power@1.2-service (pid 755)
        961K: android.hardware.gatekeeper@1.0-service-qti (pid 606)
        961K: vendor.qti.hardware.soter@1.0-service (pid 781)
        952K: vendor.qti.esepowermanager@1.0-service (pid 764)
        951K: ip6tables-restore (pid 6195)
        949K: qvrservice (pid 1100)
        946K: vendor.qti.hardware.scve.panorama@1.0-service (pid 778)
        941K: dpmd (pid 1149)
        940K: vendor.qti.hardware.scve.objecttracker@1.0-service (pid 777)
        939K: android.hardware.cas@1.1-service (pid 743)
        939K: iptables-restore (pid 6190)
        937K: android.hardware.thermal@1.0-service (pid 757)
        928K: vendor.qti.hardware.cryptfshw@1.0-service-qti (pid 607)
        928K: vendor.fido.fidoca@1.0-service (pid 1128)
        927K: android.hardware.boot@1.0-service (pid 605)
        925K: android.hardware.vibrator@1.0-service (pid 759)
        924K: vendor.qti.hardware.qdutils_disp@1.0-service-qti (pid 774)
        924K: adsprpcd (pid 850)
        917K: android.hardware.light@2.0-service (pid 752)
        912K: vendor.lenovo.hardware.factory@1.0-service (pid 763)
        910K: android.hardware.health@2.0-service (pid 751)
        901K: android.hardware.memtrack@1.0-service (pid 753)
        876K: android.hidl.allocator@1.0-service (pid 739)
        873K: servicemanager (pid 556)
        872K: vendor.qti.hardware.ifaa@2.0-service (pid 770)
        862K: rmt_storage (pid 851)
        841K: tftp_server (pid 853)
        833K: android.hardware.atrace@1.0-service (pid 604)
        821K: wfdvndservice (pid 1065)
        819K: imsqmidaemon (pid 963)
        799K: lmkd (pid 846)
        793K: mlid (pid 1080)
        778K: msm_irqbalance (pid 1179)
        774K: vndservicemanager (pid 558)
        764K: adsprpcd (pid 1058)
        757K: cdsprpcd (pid 1064)
        725K: ashmemd (pid 817)
        697K: ipacm-diag (pid 603)
        635K: traced (pid 959)
        634K: traced_probes (pid 960)
        613K: qrtr-ns (pid 792)
        595K: tombstoned (pid 1102)
        577K: dpmd (pid 1109)
        442K: ssgqmigd (pid 1078)
          0K: dumpsys (pid 32689)

Total PSS by OOM adjustment:
    443,334K: Native
        107,170K: surfaceflinger (pid 847)
         44,074K: android.hardware.camera.provider@2.4-service_64 (pid 742)
         15,106K: logd (pid 555)
         14,950K: android.hardware.audio@2.0-service (pid 738)
         11,019K: android.hardware.wifi@1.0-service (pid 760)
         10,975K: audioserver (pid 825)
         10,022K: media.extractor (pid 981)
          9,826K: android.hardware.graphics.composer@2.3-service (pid 749)
          7,406K: zygote (pid 652)
          7,004K: android.hardware.gnss@2.0-service-qti (pid 748)
          6,691K: webview_zygote (pid 2001)
          6,029K: mediaserver (pid 993)
          5,615K: wpa_supplicant (pid 1890)
          5,358K: media.metrics (pid 990)
          5,184K: media.swcodec (pid 1068)
          4,989K: media.codec (pid 1040)
          4,924K: netd (pid 650)
          4,815K: init (pid 1)
          4,662K: zygote64 (pid 651)
          4,454K: xtra-daemon (pid 1120)
          4,272K: cameraserver (pid 969)
          3,561K: drmserver (pid 974)
          3,335K: vendor.qti.hardware.perf@2.0-service (pid 773)
          3,230K: cnd (pid 1041)
          3,183K: android.hardware.neuralnetworks@1.2-service-qti (pid 754)
          2,876K: media.hwcodec (pid 787)
          2,812K: android.hardware.sensors@2.0-service (pid 756)
          2,597K: adbd (pid 2729)
          2,505K: vold (pid 589)
          2,391K: keystore (pid 979)
          2,345K: cnss_diag (pid 965)
          2,280K: vendor.qti.hardware.iop@2.0-service (pid 772)
          2,248K: lowi-server (pid 1119)
          2,165K: ueventd (pid 540)
          2,156K: chre (pid 1096)
          2,081K: thermal-engine (pid 962)
          2,064K: init (pid 538)
          2,039K: statsd (pid 1000)
          1,997K: vendor.dolby.hardware.dms@2.0-service (pid 1127)
          1,990K: installd (pid 977)
          1,922K: storaged (pid 1001)
          1,914K: top (pid 27051)
          1,804K: adsprpcd (pid 1060)
          1,701K: cnss-daemon (pid 1069)
          1,594K: tloc_daemon (pid 1116)
          1,580K: init (pid 539)
          1,571K: imsdatadaemon (pid 1181)
          1,569K: ims_rtp_daemon (pid 966)
          1,543K: qseecomd (pid 573)
          1,538K: hwservicemanager (pid 557)
          1,493K: mediadrmserver (pid 980)
          1,492K: perfservice (pid 994)
          1,489K: android.hardware.drm@1.2-service.widevine (pid 747)
          1,442K: pm-service (pid 816)
          1,432K: wificond (pid 1002)
          1,396K: vendor.qti.hardware.display.allocator-service (pid 769)
          1,388K: wifidisplayhalservice (pid 1048)
          1,387K: update_engine (pid 1103)
          1,386K: android.hardware.keymaster@4.0-service-qti (pid 572)
          1,330K: android.hardware.configstore@1.1-service (pid 744)
          1,313K: android.hardware.biometrics.fingerprint@2.1-service (pid 1110)
          1,297K: android.hardware.drm@1.2-service.clearkey (pid 746)
          1,282K: apexd (pid 633)
          1,238K: dpmQmiMgr (pid 1049)
          1,233K: imsrcsd (pid 964)
          1,225K: gpuservice (pid 837)
          1,220K: hq_ftm (pid 808)
          1,219K: vendor.qti.hardware.sensorscalibrate@1.0-service (pid 780)
          1,199K: sensors.qti (pid 871)
          1,195K: android.system.suspend@1.0-service (pid 740)
          1,187K: vppservice (pid 789)
          1,185K: vendor.qti.hardware.cvp@1.0-service (pid 768)
          1,177K: android.hardware.drm@1.0-service (pid 745)
          1,125K: incidentd (pid 976)
          1,125K: wfdhdcphalservice (pid 1003)
          1,121K: android.hardware.bluetooth@1.0-service-qti (pid 741)
          1,102K: loc_launcher (pid 1090)
          1,100K: hvdcp_opti (pid 1665)
          1,091K: gatekeeperd (pid 1097)
          1,089K: vendor.qti.hardware.capabilityconfigstore@1.0-service (pid 767)
          1,076K: vendor.qti.hardware.qteeconnector@1.0-service (pid 776)
          1,072K: vendor.qti.hardware.qseecom@1.0-service (pid 574)
          1,040K: vendor.qti.hardware.tui_comm@1.0-service-qti (pid 786)
          1,036K: vendor.display.color@1.0-service (pid 761)
          1,035K: ssgtzd (pid 2515)
          1,017K: android.hardware.usb@1.0-service (pid 758)
          1,005K: time_daemon (pid 645)
          1,001K: pm-proxy (pid 958)
            997K: pd-mapper (pid 810)
            969K: android.hardware.power@1.2-service (pid 755)
            961K: android.hardware.gatekeeper@1.0-service-qti (pid 606)
            961K: vendor.qti.hardware.soter@1.0-service (pid 781)
            952K: vendor.qti.esepowermanager@1.0-service (pid 764)
            951K: ip6tables-restore (pid 6195)
            949K: qvrservice (pid 1100)
            946K: vendor.qti.hardware.scve.panorama@1.0-service (pid 778)
            941K: dpmd (pid 1149)
            940K: vendor.qti.hardware.scve.objecttracker@1.0-service (pid 777)
            939K: android.hardware.cas@1.1-service (pid 743)
            939K: iptables-restore (pid 6190)
            937K: android.hardware.thermal@1.0-service (pid 757)
            928K: vendor.qti.hardware.cryptfshw@1.0-service-qti (pid 607)
            928K: vendor.fido.fidoca@1.0-service (pid 1128)
            927K: android.hardware.boot@1.0-service (pid 605)
            925K: android.hardware.vibrator@1.0-service (pid 759)
            924K: vendor.qti.hardware.qdutils_disp@1.0-service-qti (pid 774)
            924K: adsprpcd (pid 850)
            917K: android.hardware.light@2.0-service (pid 752)
            912K: vendor.lenovo.hardware.factory@1.0-service (pid 763)
            910K: android.hardware.health@2.0-service (pid 751)
            901K: android.hardware.memtrack@1.0-service (pid 753)
            876K: android.hidl.allocator@1.0-service (pid 739)
            873K: servicemanager (pid 556)
            872K: vendor.qti.hardware.ifaa@2.0-service (pid 770)
            862K: rmt_storage (pid 851)
            841K: tftp_server (pid 853)
            833K: android.hardware.atrace@1.0-service (pid 604)
            821K: wfdvndservice (pid 1065)
            819K: imsqmidaemon (pid 963)
            799K: lmkd (pid 846)
            793K: mlid (pid 1080)
            778K: msm_irqbalance (pid 1179)
            774K: vndservicemanager (pid 558)
            764K: adsprpcd (pid 1058)
            757K: cdsprpcd (pid 1064)
            725K: ashmemd (pid 817)
            697K: ipacm-diag (pid 603)
            635K: traced (pid 959)
            634K: traced_probes (pid 960)
            613K: qrtr-ns (pid 792)
            595K: tombstoned (pid 1102)
            577K: dpmd (pid 1109)
            442K: ssgqmigd (pid 1078)
              0K: dumpsys (pid 32689)
    252,696K: System
        252,696K: system (pid 1364)
    337,185K: Persistent
        118,156K: com.android.systemui (pid 1840)
         55,604K: com.zui.safecenter (pid 2742)
         29,946K: com.lenovo.ue.device (pid 2867)
         20,713K: com.android.phone (pid 2141)
         11,819K: com.zui.networkaclr (pid 2162)
         11,398K: com.zui.xlog (pid 2715)
          9,887K: com.zui.tassistent (pid 2777)
          9,686K: .qtidataservices (pid 2045)
          9,245K: com.qualcomm.qti.workloadclassifier (pid 2925)
          8,160K: com.zui.wifip2p (pid 2896)
          6,752K: com.lenovo.family.mdmagent (pid 2798)
          6,386K: com.dolby.daxservice (pid 2748)
          5,906K: com.zui.sdac (pid 2685)
          5,386K: com.zui.cores (pid 2118)
          4,910K: .dataservices (pid 1965)
          4,903K: com.qualcomm.qti.telephonyservice (pid 2076)
          4,779K: com.qualcomm.qti.services.secureui:sui_service (pid 2949)
          4,604K: com.dolby.dolbyvisionservice (pid 2096)
          4,504K: com.qualcomm.qti.services.systemhelper:systemhelper_service (pid 2818)
          4,441K: com.android.se (pid 2843)
    658,946K: Foreground
        566,155K: com.xxx.xxxhdmap (pid 24133 / activities)
         92,791K: com.xxx.ivi.setting (pid 24310)
    410,118K: Visible
        141,726K: com.zui.launcher (pid 2260 / activities)
        120,825K: com.lenovo.menu_assistant (pid 23966)
         52,346K: com.google.android.gms.persistent (pid 2628)
         38,231K: com.zui.launchersdk (pid 3379)
         21,805K: com.lenovo.process.weathercenter (pid 3399)
         11,126K: com.baidu.map.location (pid 3131)
          9,318K: android.ext.services (pid 2210)
          5,972K: com.lenovo.levoice_agent (pid 3200)
          4,665K: com.qualcomm.qcrilmsgtunnel (pid 2331)
          4,104K: com.android.smspush (pid 2976)
    126,877K: Perceptible
        118,023K: com.sohu.inputmethod.sogou (pid 4172)
          8,854K: com.zui.weather (pid 14912)
     12,444K: A Services
         12,444K: com.zui.sdac:cns (pid 6108)
     93,346K: B Services
         36,110K: com.zui.bugtogo (pid 4047)
         18,425K: com.zui.userexperience (pid 6159)
         15,778K: com.lenovo.lsf.device (pid 5828)
         10,624K: android.process.media (pid 19721)
          6,713K: com.zui.ota (pid 4504)
          5,696K: com.lenovo.ue.device.daemon (pid 23219)
    272,551K: Cached
         82,115K: com.google.android.gms (pid 18481)
         45,980K: com.google.android.gms.unstable (pid 9581)
         30,629K: com.zui.cloudservice (pid 23506)
         22,618K: com.zui.calendar (pid 30343)
         20,490K: com.zui.gallery (pid 24086)
         19,165K: android.process.acore (pid 10581)
         12,942K: com.zui.homesettings (pid 9110)
         11,058K: com.zui.xlog:usage (pid 17474)
          9,745K: com.zui.bugtogo:remote (pid 7426)
          9,685K: com.google.process.gservices (pid 9323)
          8,124K: com.android.providers.calendar (pid 9930)

Total PSS by category:
    662,822K: Native
    259,342K: Dalvik
    232,246K: .dex mmap
    193,644K: EGL mtrack
    185,843K: .apk mmap
    162,432K: Gfx dev
    123,277K: .so mmap
     98,634K: .art mmap
     76,992K: GL mtrack
     64,892K: Unknown
     44,029K: .jar mmap
     34,665K: Dalvik Other
     28,071K: .oat mmap
     26,228K: Ashmem
     23,400K: Other mmap
      5,625K: .ttf mmap
      3,247K: Stack
      3,196K: Other dev
          4K: Cursor
          0K: Other mtrack

Total RAM: 5,747,456K (status moderate)
 Free RAM: 2,847,299K (  272,551K cached pss + 2,492,116K cached kernel +    82,632K free)
 Used RAM: 2,810,362K (2,334,946K used pss +   475,416K kernel)
 Lost RAM:   374,711K
     ZRAM:    93,992K physical used for   386,584K in swap (3,145,724K total swap)
   Tuning: 512 (large 512), oom   322,560K, restore limit   107,520K (high-end-gfx)
XXX-MacBook-Pro:CPU chunyanzhang$ 

 

内存指标概念:

OOM机制是机器底层的一种强制保鲜,在OOM发生的时候内核会排序强制杀掉进程来保证系统的继续运行,同样这种OOM异常容易发生在低内存机器上,比如512M。

首先系统会根据程序是否是空进程(已经由用户关闭的不带有任何服务和provider的进程),是否有服务,是否有provider,是否为前台进程,来排序,可以输入 adb shell dumpsys meminfo来查看,列出信息中的Total PSS by OOM adjustment:就是系统为程序的OOM排序结果,OOM异常的时候会根据这个表单从下网上杀掉进程释放内存。

1.1 内存指标概念

Item全称含义等价
USS Unique Set Size 物理内存 进程独占的内存
PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含共享库
RSS Resident Set Size 物理内存 RSS= USS+ 包含共享库
VSS Virtual Set Size 虚拟内存 VSS= RSS+ 未分配实际物理内存

故内存的大小关系:VSS >= RSS >= PSS >= USS

2、dumpsys meminfo命令的输出结果分以下4部分

序列

划分类型

排序解释
1 process PSS 以进程的PSS从大到小依次排序显示,每行显示一个进程;
2 OOM  adjustment    PSS Native/System/Persistent/Foreground/Visible/Perceptible/A Services/Home/B Services/Cached,分别显示每类的进程情况
3 category PSS 以Dalvik/Native/.art mmap/.dex map等划分的各类进程的总PSS情况
4 total 总内存、剩余内存、可用内存、其他内存

 

 

[adb shell dumpsys meminfo 包名或者进程号]:用来查看指定进程包名的内存使用情况

参数汇总解析

Native Heap:Native代码分配的内存,虚拟机和Android框架分配内存。关于什么是Native代码,即非Java代码分配的内存。详细介绍请找百度。

Dalvik Heap:Java对象分配的占据内存

Dalvik Other:类数据结构和索引占据内存

Stack:栈内存

Ashmem:不以dalvik- 开头的内存区域,匿名共享内存用来提供共享内存通过分配一个多个进程可以共享的带名称的内存块。匿名共享内存(Anonymous Shared Memory-Ashmem。Android匿名共享内存是基于Linux共享内存的,都是在tmpfs文件系统上新建文件,并将其映射到不同的进程空间,从而达到共享内存的目的,只是,Android在Linux的基础上进行了改造,并借助Binder+fd文件描述符实现了共享内存的传递。

Other dev:内部driver占用的内存

.so mmap C库代码占用的内存

.jar mmap java文件代码占用的内存

.apk mmap apk代码占用的内存

.ttf mmap ttf文件代码占用的内存

.dex mmap dex文件代码占用内存。类函数的代码和常量占用的内存,dex mmap是映射classex.dex文件,Dalvik虚拟机从dex文件加载类信息和字符串常量等。Dex文件有索引区和Data区

Other mmap 其它文件占用的内存

Pss:进程各部分内存的消耗,是所有进程pss相加得到系统占用内存的总和。

Dalvik heap Pss内存=私有内存Private Dirty+ 共享内存Share Dirty/共享的进程数Dalvik heap Pss内存=私有内存Private Dirty+ 共享内存Share Dirty/共享的进程数

Heap Size:Dalvik Heap总共的内存大小

Heap Alloc:所有应用实例分配的内存,包括了应用从zygote共享分享的内存

Native Heap Size 约等于Native HeapAlloc + Native Heap Free

app内存分析的工具包括:

Android Studio/Memory Monitor:观察Dalvik内存

Dumpsys meminfo:观察整体内存

Smaps:观察整体内存的详细组成

Eclipse Memory Analyzer:详细分析Dalvik内存

app开发中要关注的一些内存使用:

尽量不要在循环中创建太多的临时变量

尽量把大型的循环拆散,分段或按需执行

引入SDK库和调用新的系统API时,主要不常用功能的消耗,可考虑多进程方案,影响内存放入临时进程执行

调整Dex文件的顺序可以优化空间

posted @ 2022-12-15 10:08  xiaoyanhahaha  阅读(1055)  评论(0编辑  收藏  举报