您的位置:首页 > 其它

抓取某个进程或者系统内存信息,debug相关

2017-06-25 17:58 218 查看
1、抓取某个应用(进程)的内存使用情况

1)通过ps得到debug进程的pid(进程号)

C:\Users\hxiong>adb root
C:\Users\hxiong>adb shell
generic_x86_64:/ # ps | grep cameraserver
cameraserver 1294 1 21240 5632 binder_thr 00ffffe430 S /system/bin/cameraserver
generic_x86_64:/proc/1294/fd #


2、通过dumpsys meminfo 查看内存使用信息
C:\Users\hxiong>adb shell dumpsys meminfo 1294
Applications Memory Usage (in Kilobytes):
Uptime: 1812434 Realtime: 1812434
Pss Private Private SwapPss Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 372 372 0 0 0 0 0
Dalvik Heap 0 0 0 0 0 0 0
Stack 56 56 0 0
Other dev 4 0 4 0
.so mmap 1774 696 500 0
Other mmap 45 20 4 0
Unknown 180 180 0 0
TOTAL 2431 1324 508 0 0 0 0

App Summary
Pss(KB)
------
Java Heap: 0
Native Heap: 372
Code: 1196
Stack: 56
Graphics: 0
Private Other: 208
System: 599

TOTAL: 2431 TOTAL SWAP PSS: 0

C:\Users\hxiong>


Unknow这一栏一般是 new,malloc申请的内存

2、查看系统内存使用情况,即把所有进程使用的内存列出来

C:\Users\hxiong>adb shell dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 1587570 Realtime: 1587570

Total PSS by process:
76,947K: com.google.android.googlequicksearchbox:search (pid 2222)
74,080K: system (pid 1588)
66,269K: com.android.systemui (pid 1682)
50,635K: com.google.android.gms.persistent (pid 2150)
40,999K: com.google.android.gms (pid 2495)
38,346K: com.google.android.apps.maps (pid 2020)
31,485K: zygote (pid 1292)
28,953K: zygote64 (pid 1291)
24,528K: com.google.android.apps.nexuslauncher (pid 2095 / activities)
20,638K: com.google.android.apps.messaging (pid 2525)
16,241K: com.android.phone (pid 1774)
14,449K: com.android.chrome (pid 2604)
12,540K: com.google.android.googlequicksearchbox:interactor (pid 2052)
11,884K: com.google.android.gms.feedback (pid 2457)
10,988K: com.android.inputmethod.latin (pid 1676)
10,110K: android.process.acore (pid 2185)
9,358K: com.android.email (pid 2339)
8,187K: com.android.settings (pid 1788)
7,207K: com.google.process.gapps (pid 2298)
6,850K: com.android.deskclock (pid 1962)
6,231K: com.android.calendar (pid 2316)
5,907K: com.android.providers.calendar (pid 2356)
5,814K: com.google.android.apps.wallpaper (pid 2569)
5,666K: com.google.process.gapps (pid 2624)
4,338K: com.android.printspooler (pid 2081)
4,152K: com.android.managedprovisioning (pid 2388)
4,002K: android.ext.services (pid 1997)
3,478K: audioserver (pid 1293)
3,293K: mediaserver (pid 1303)
2,953K: media.codec (pid 1300)
2,814K: media.extractor (pid 1302)
2,682K: surfaceflinger (pid 1281)
2,431K: cameraserver (pid 1294)
2,177K: logd (pid 1226)
2,086K: mediadrmserver (pid 1301)
1,813K: vold (pid 1229)
1,630K: netd (pid 1304)
1,472K: drmserver (pid 1295)
1,427K: sdcard (pid 1689)
1,363K: sdcard (pid 1758)
1,287K: /init (pid 1)
1,244K: keystore (pid 1299)
1,032K: fingerprintd (pid 1306)
1,007K: adbd (pid 2830)
993K: gatekeeperd (pid 1307)
921K: rild (pid 1305)
852K: installd (pid 1298)
804K: ueventd (pid 910)
794K: lmkd (pid 1279)
718K: dumpsys (pid 3738)
717K: sh (pid 1284)
707K: servicemanager (pid 1280)
578K: perfprofd (pid 1324)
576K: healthd (pid 1277)
413K: debuggerd64 (pid 1228)
380K: debuggerd (pid 1227)
320K: debuggerd64:signaller (pid 1237)
254K: debuggerd:signaller (pid 1240)

Total PSS by OOM adjustment:
103,654K: Native
31,485K: zygote (pid 1292)
28,953K: zygote64 (pid 1291)
3,478K: audioserver (pid 1293)
3,293K: mediaserver (pid 1303)
2,953K: media.codec (pid 1300)
2,814K: media.extractor (pid 1302)
2,682K: surfaceflinger (pid 1281)
2,431K: cameraserver (pid 1294)
2,177K: logd (pid 1226)
2,086K: mediadrmserver (pid 1301)
1,813K: vold (pid 1229)
1,630K: netd (pid 1304)
1,472K: drmserver (pid 1295)
1,427K: sdcard (pid 1689)
1,363K: sdcard (pid 1758)
1,287K: /init (pid 1)
1,244K: keystore (pid 1299)
1,032K: fingerprintd (pid 1306)
1,007K: adbd (pid 2830)
993K: gatekeeperd (pid 1307)
921K: rild (pid 1305)
852K: installd (pid 1298)
804K: ueventd (pid 910)
794K: lmkd (pid 1279)
718K: dumpsys (pid 3738)
717K: sh (pid 1284)
707K: servicemanager (pid 1280)
578K: perfprofd (pid 1324)
576K: healthd (pid 1277)
413K: debuggerd64 (pid 1228)
380K: debuggerd (pid 1227)
320K: debuggerd64:signaller (pid 1237)
254K: debuggerd:signaller (pid 1240)
74,080K: System
74,080K: system (pid 1588)
82,510K: Persistent
66,269K: com.android.systemui (pid 1682)
16,241K: com.android.phone (pid 1774)
101,475K: Foreground
76,947K: com.google.android.googlequicksearchbox:search (pid 2222)
24,528K: com.google.android.apps.nexuslauncher (pid 2095 / activities)
67,177K: Visible
50,635K: com.google.android.gms.persistent (pid 2150)
12,540K: com.google.android.googlequicksearchbox:interactor (pid 2052)
4,002K: android.ext.services (pid 1997)
10,988K: Perceptible
10,988K: com.android.inputmethod.latin (pid 1676)
200,136K: Cached
40,999K: com.google.android.gms (pid 2495)
38,346K: com.google.android.apps.maps (pid 2020)
20,638K: com.google.android.apps.messaging (pid 2525)
14,449K: com.android.chrome (pid 2604)
11,884K: com.google.android.gms.feedback (pid 2457)
10,110K: android.process.acore (pid 2185)
9,358K: com.android.email (pid 2339)
8,187K: com.android.settings (pid 1788)
7,207K: com.google.process.gapps (pid 2298)
6,850K: com.android.deskclock (pid 1962)
6,231K: com.android.calendar (pid 2316)
5,907K: com.android.providers.calendar (pid 2356)
5,814K: com.google.android.apps.wallpaper (pid 2569)
5,666K: com.google.process.gapps (pid 2624)
4,338K: com.android.printspooler (pid 2081)
4,152K: com.android.managedprovisioning (pid 2388)

Total PSS by category:
142,705K: .dex mmap
115,237K: Native
80,903K: .so mmap
80,724K: Dalvik
63,917K: .oat mmap
39,349K: .art mmap
31,917K: Unknown
27,115K: .apk mmap
20,759K: Dalvik Other
17,772K: Ashmem
9,190K: Stack
7,700K: Other mmap
2,043K: .ttf mmap
529K: Other dev
160K: .jar mmap
0K: Cursor
0K: Gfx dev
0K: EGL mtrack
0K: GL mtrack
0K: Other mtrack

Total RAM: 2,050,040K (status normal)
Free RAM: 1,527,384K ( 200,136K cached pss + 520,596K cached kernel + 806,652K free)
Used RAM: 522,632K ( 439,884K used pss + 82,748K kernel)
Lost RAM: 24K
Tuning: 448 (large 448), oom 322,560K, restore limit 107,520K (high-end-gfx)

C:\Users\hxiong>


3、有使用我们需要连接抓系统的内存使用的信息,这里可以写一个脚本,每个10秒抓一次信息保存到指定文件
meminfo.bat

@echo off
adb root
adb wait-for-device

set meminfoDir=%cd%\MeminfoLog

rem make dir
if exist %meminfoDir% rd /s/q %meminfoDir%
md %meminfoDir%

rem the file which saved meminfo
set meminfoFile=%meminfoDir%\meminfo.txt

echo %meminfoFile%

:dumpLoop

echo %date% %time%
adb shell dumpsys meminfo >> %meminfoFile%

rem wait for 10 seconds to catch next meminfo
ping -n 10 127.0.0.1 > nul

goto dumpLoop

pause
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: