Android procrank , showmap 内存分析.docx_第1页
Android procrank , showmap 内存分析.docx_第2页
Android procrank , showmap 内存分析.docx_第3页
Android procrank , showmap 内存分析.docx_第4页
Android procrank , showmap 内存分析.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android procrank , showmap 内存分析需要root权限同时要支持以下命令的Android工程机1:rootandroid:/ # procrank 查看所有进程的内存信息包括:PID Vss Rss Pss Uss cmdlinerootandroid:/ # procrank warning: could not create process interface for 32099 PID Vss Rss Pss Uss cmdline17690 75152K 75020K 40491K 38024K com.dianxinos.optimizer.channel13968 124792K 61864K 35726K 34372K com.dianxinos.optimizer.channel 1516 65052K 64940K 29661K 27076K cess.acore 1322 88028K 65764K 29581K 26156K system_server 1417 68320K 63892K 28635K 25820K com.android.systemui 1757 55040K 54960K 21176K 19084K com.qihoo360.mobilesafe_mtk657312294 45208K 45096K 13238K 11220K cess.acore29904 44984K 44896K 12227K 10316K com.dianxinos.optimizer.engine.demo:service29819 61032K 44624K 11772K 9808K com.dianxinos.optimizer.engine.demo13284 40556K 40448K 9823K 8472K com.qihoo.appstore 1499 40036K 39940K 9095K 7700K com.android.phone 1478 39988K 39880K 8998K 7588K com.cootek.smartinputv512497 36860K 36736K 6975K 5844K cess.media12910 36420K 36336K 6754K 5640K net.fknjjzw25083 36772K 36640K 6413K 5180K cess.gapps26667 36660K 36512K 6323K 5008K com.qihoo.browser 1297 40400K 40240K 5366K 2804K zygote30870 34424K 34284K 4495K 3264K com.android.contacts31078 34304K 34164K 4338K 3188K viders.calendar11595 33692K 33552K 4064K 2796K net.qihoo.launcher.widget.clockweather:WeatherService30623 33720K 33576K 4005K 2748K com.android.settings31103 33980K 33836K 3973K 2768K com.android.calendar2:rootandroid:/ # showmap 29904 查看指定Pid的内存具体信息rootandroid:/ # showmap 29904 virtual shared shared private private size RSS PSS clean dirty clean dirty # object- - - - - - - - - 124 124 17 124 0 0 0 3 /data/app/com.dianxinos.optimizer.engine.demo-2.apk 1400 708 351 676 0 32 0 1 /data/dalvik-cache/dataappcom.dianxinos.optimizer.engine.demo-2.apkclasses.dex 328 148 15 148 0 0 0 1 /data/dalvik-cache/systemframeworkandroid.policy.jarclasses.dex 1348 32 1 32 0 0 0 1 /data/dalvik-cache/systemframeworkapache-xml.jarclasses.dex 956 344 54 344 0 0 0 1 /data/dalvik-cache/systemframeworkbouncycastle.jarclasses.dex 4 4 0 4 0 0 0 1 /data/dalvik-cache/systemframeworkcom.qrd.plugin.feature_query.jarclasses.dex 8 8 0 8 0 0 0 1 /data/dalvik-cache/systemframeworkcom.qrdinside.impl.jarclasses.dex 24 8 0 8 0 0 0 1 /data/dalvik-cache/systemframeworkcore-junit.jarclasses.dex 3288 1372 68 1372 0 0 0 1 /data/dalvik-cache/systemframeworkcore.jarclasses.dex 1460 96 5 96 0 0 0 1 /data/dalvik-cache/systemframeworkext.jarclasses.dex 316 16 0 16 0 0 0 1 /data/dalvik-cache/systemframeworkfilterfw.jarclasses.dex 11476 4616 316 4588 20 8 0 11 /data/dalvik-cache/systemframeworkframework.jarclasses.dex 2208 48 2 48 0 0 0 1 /data/dalvik-cache/systemframeworkservices.jarclasses.dex 64 40 0 0 40 0 0 1 /dev/_properties_ (deleted) 24 4 2 0 4 0 0 1 /dev/ashmem/InputChannel 41a89fb0 com.dianxinos.optimizer.engine.demo/com.dianxinos.optimizer.engine.demo.antispam.AntiSpamActi 4 4 0 4 0 0 0 1 /dev/ashmem/SurfaceFlinger read-only heap (deleted) 8192 2864 249 0 2712 0 152 4 /dev/ashmem/dalvik-LinearAlloc (deleted) 2048 0 0 0 0 0 0 1 /dev/ashmem/dalvik-bitmap-1 (deleted) 2048 220 220 0 0 0 220 1 /dev/ashmem/dalvik-bitmap-2 (deleted) 1028 128 128 0 0 0 128 1 /dev/ashmem/dalvik-card-table (deleted) 131072 16136 7117 0 9356 0 6780 3 /dev/ashmem/dalvik-heap (deleted) 1024 96 96 0 0 0 96 1 /dev/ashmem/dalvik-jit-code-cache (deleted) 43692 0 0 0 0 0 0 1 /dev/ashmem/dalvik-mark-stack (deleted) 1016 4 4 0 0 4 0 1 /dev/binder 12 8 0 4 4 0 0 2 /system/bin/app_process 36 24 4 20 0 0 4 2 /system/bin/linker 360 24 3 24 0 0 0 1 /system/fonts/DroidNaskh-Regular.ttf 16 12 1 12 0 0 0 1 /system/fonts/DroidSansArmenian.ttf 224 16 2 16 0 0 0 1 /system/fonts/DroidSansEthiopic-Regular.ttf 5176 764 147 748 0 16 0 1 /system/fonts/DroidSansFallback.ttf 24 12 1 12 0 0 0 1 /system/fonts/DroidSansGeorgian.ttf 32 16 4 16 0 0 0 1 /system/fonts/DroidSansHebrew-Bold.ttf 32 16 2 16 0 0 0 1 /system/fonts/DroidSansHebrew-Regular.ttf 36 16 2 16 0 0 0 1 /system/fonts/DroidSansThai.ttf 140 8 1 8 0 0 0 1 /system/fonts/Lohit-Bengali.ttf 64 16 2 16 0 0 0 1 /system/fonts/Lohit-Devanagari.ttf 68 8 1 8 0 0 0 1 /system/fonts/Lohit-Tamil.ttf 80 12 3 12 0 0 0 1 /system/fonts/Roboto-Bold.ttf 80 16 2 16 0 0 0 1 /system/fonts/Roboto-Regular.ttf 4 0 0 0 0 0 0 1 /system/framework/android.policy.jar 8 0 0 0 0 0 0 1 /system/framework/apache-xml.jar 4 0 0 0 0 0 0 1 /system/framework/bouncycastle.jar 4 0 0 0 0 0 0 1 /system/framework/com.qrd.plugin.feature_query.jar 4 0 0 0 0 0 0 1 /system/framework/com.qrdinside.impl.jar 4 0 0 0 0 0 0 1 /system/framework/core-junit.jar 4 0 0 0 0 0 0 1 /system/framework/core.jar 64 0 0 0 0 0 0 1 /system/framework/ext.jar 4 0 0 0 0 0 0 1 /system/framework/filterfw.jar 944 212 25 212 0 0 0 2 /system/framework/framework-res.apk 4 0 0 0 0 0 0 1 /system/framework/framework.jar 4 0 0 0 0 0 0 1 /system/framework/services.jar 20 20 9 12 0 0 8 2 /system/lib/hw/gralloc.msm7627a.so 152 80 5 52 24 0 4 3 /system/lib/libEGL.so 12 8 0 0 8 0 0 2 /system/lib/libETC1.so 24 16 0 8 8 0 0 2 /system/lib/libGLESv1_CM.so 20 16 0 8 8 0 0 2 /system/lib/libGLESv2.so 128 84 2 72 12 0 0 2 /system/lib/libGLESv2_dbg.so 24 20 0 12 8 0 0 2 /system/lib/libQcomUI.so 640 272 132 124 20 0 128 3 /system/lib/libRS.so 56 52 1 40 12 0 0 2 /system/lib/libandroid.so 704 616 24 568 44 0 4 2 /system/lib/libandroid_runtime.so 4276 796 27 576 220 0 0 3 /system/lib/libbcc.so 844 220 7 204 16 0 0 2 /system/lib/libbcinfo.so 164 156 7 128 24 0 4 2 /system/lib/libbinder.so 12 8 0 0 8 0 0 2 /system/lib/libbluedroid.so 320 228 19 188 24 0 16 3 /system/lib/libc.so 124 120 3 96 24 0 0 2 /system/lib/libcamera_client.so 2472 1040 35 964 76 0 0 3 /system/lib/libchromium_net.so 8 8 0 0 8 0 0 2 /system/lib/libcnefeatureconfig.so 816 476 14 400 76 0 0 3 /system/lib/libcrypto.so 120 44 5 36 4 0 4 3 /system/lib/libcutils.so 300 56 1 48 8 0 0 2 /system/lib/libdbus.so 92 84 2 68 16 0 0 2 /system/lib/libdrmframework.so 748 640 50 580 44 0 16 3 /system/lib/libdvm.so 28 20 8 4 8 0 8 3 /system/lib/libemoji.so 52 12 0 4 8 0 0 3 /system/lib/libexif.so 80 8 0 0 8 0 0 2 /system/lib/libexpat.so 176 28 0 16 12 0 0 2 /system/lib/libflex.so 16 16 0 8 8 0 0 2 /system/lib/libgabi+.so 8 8 8 0 0 0 8 2 /system/lib/libgenlock.so 60 56 1 40 16 0 0 2 /system/lib/libgesture_client.so 216 208 10 168 36 0 4 2 /system/lib/libgui.so 8 8 0 0 8 0 0 2 /system/lib/libhardware.so 24 12 0 4 8 0 0 2 /system/lib/libhardware_legacy.so 256 52 1 44 8 0 0 2 /system/lib/libharfbuzz.so 140 60 2 48 12 0 0 2 /system/lib/libhwui.so 1168 700 28 672 24 0 4 2 /system/lib/libicui18n.so 992 692 36 644 36 0 12 3 /system/lib/libicuuc.so 216 20 0 12 8 0 0 2 /system/lib/libjpeg.so 16 16 0 8 8 0 0 2 /system/lib/liblog.so 92 52 5 40 8 0 4 3 /system/lib/libm.so 436 376 19 308 64 0 4 2 /system/lib/libmedia.so 88 84 2 72 12 0 0 2 /system/lib/libmedia_jni.so 24 24 4 16 4 0 4 2 /system/lib/libmemalloc.so 76 40 1 28 12 0 0 2 /system/lib/libmtp.so 216 176 5 160 16 0 0 2 /system/lib/libnativehelper.so 24 12 0 4 8 0 0 2 /system/lib/libnetutils.so 8 8 0 0 8 0 0 2 /system/lib/libnfc_ndef.so 972 112 3 92 20 0 0 3 /system/lib/libnode.so 112 60 1 48 12 0 0 2 /system/lib/libpixelflinger.so 16 16 0 8 8 0 0 2 /system/lib/libpowermanager.so 12 12 0 4 8 0 0 2 /system/lib/libqc-opt.so 8 8 0 0 8 0 0 2 /system/lib/libqrdinside.so 24 24 0 16 8 0 0 2 /system/lib/librs_jni.so 1228 836 49 804 24 0 8 3 /system/lib/libskia.so 336 20 0 12 8 0 0 3 /system/lib/libsonivox.so 328 304 15 292 8 0 4 2 /system/lib/libsqlite.so 184 116 3 96 20 0 0 2 /system/lib/libssl.so 1496 416 14 368 48 0 0 2 /system/lib/libstagefright.so 52 12 0 4 8 0 0 2 /system/lib/libstagefright_amrnb_common.so 40 16 4 4 8 0 4 3 /system/lib/libstagefright_avc_common.so 8 8 0 0 8 0 0 2 /system/lib/libstagefright_enc_common.so 44 36 1 28 8 0 0 2 /system/lib/libstagefright_foundation.so 12 8 0 0 8 0 0 2 /system/lib/libstagefright_yuv.so 8 8 0 0 8 0 0 2 /system/lib/libstdc+.so 208 16 4 8 4 0 4 2 /system/lib/libstlport.so 16 16 0 8 8 0 0 2 /system/lib/libtilerenderer.so 92 80 7 68 8 0 4 2 /system/lib/libui.so 12 8 0 0 8 0 0 2 /system/lib/libusbhost.so 188 172 8 160 8 0 4 2 /system/lib/libutils.so 2680 512 17 428 84 0 0 3 /system/lib/libv8.so 100 20 0 8 12 0 0 2 /system/lib/libvorbisidec.so 6364 1724 59 1200 524 0 0 3 /system/lib/libwebcore.so 12 12 0 4 8 0 0 2 /system/lib/libwpa_client.so 96 52 1 44 8 0 0 2 /system/lib/libz.so 36 8 0 0 8 0 0 2 /system/lib/libzipfile.so 14304 144 10 144 0 0 0 2 /system/usr/icu/icudt46l.dat 476 0 0 0 0 0 0 1 /system/usr/share/zoneinfo/zoneinfo.dat 9896 1392 978 0 432 0 960 29 anon 2756 2752 1675 0 1120 0 1632 2 heap 1160 28 24 0 4 0 24 3 stack 4 4 4 0 0 0 4 1 vectors- - - - - - - - - virtual shared shared private private size RSS PSS clean dirty clean dirty # object- - - - - - - - - 280360 44900 12195 18956 15624 60 10260 277 TOTAL3: VSS/RSS/PSS/USS 的区别Terms VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 一般来说内存占用大小有如下规律:VSS = RSS = PSS = USS Overview The aim of this post is to provide information that will assist in interpreting memory reports from various tools so the true memory usage for Linux processes and the system can be determined. Android has a tool called procrank (/system/xbin/procrank), which lists out the memory usage of Linux processes in order from highest to lowest usage. The sizes reported per process are VSS, RSS, PSS, and USS. For the sake of simplicity in this description, memory will be expressed in terms of pages, rather than bytes. Linux systems like ours manage memory in 4096 byte pages at the lowest level. VSS (reported as VSZ from ps) is the total accessible address space of a process. This size also includes memory that may not be resident in RAM like mallocs that have been allocated but not written to. VSS is of very little use for determing real memory usage of a process. RSS is the total memory actually held in RAM for a process. RSS can be misleading, because it reports the total all of the shared libraries that the process uses, even though a shared library is only loaded into memory once regardless of how many processes use it. RSS is not an accurate representation of the memory usage for a single process. PSS differs from RSS in that it reports the proportional size of its shared libraries, i.e. if three processes all use a shared library that has 30 pages, that library will only contribute 10 pages to the PSS that is reported for each of the three processes. PSS is a very useful number because when the PSS for all processes in the system are summed together, that is a good representation for the total memory usage in the system. When a process is killed, the shared libraries that contributed to its PSS will be proportionally distributed to the PSS totals for the remaining processes still using that library. In this way PSS can be slightly misleading, because when a process is killed, PSS does not accurately represent the memory returned to the overall system. USS is the total private memory for a process, i.e. that memory that is completely unique to that process. USS is an extremely useful number because it indicates the true incre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论