尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

adb指令 查看cpu和内存

adb指令 查看cpu和内存 linux man手册查看内存查看当前进程adb shell ps -efadb shell ps -ef | grep 包名查看内存adb shell getprop dalvik.vm.heapsize // heapsize参数表示单个进程可用的最大内存表示不受控情况下的极限堆adb shell getprop dalvik.vm.heapgrowthlimit // 以heapgrowthlimit为准超过则OOMadb shell getpropadb shell cat /proc/meminfoMemTotalTotal usable RAM (i.e., physical RAM minus a fewreserved bits and the kernel binary code).VmallocTotalTotal size of vmalloc memory area.adb shell dumpsys meminfo -a 包名查看当前应用所占用内存Uptime表示启动到现在的时长不包含休眠的时间单位毫秒(ms)Realtime表示启动到现在的时长包含休眠的时间单位毫秒(ms)Native Heap: 进程程序本身使用的内存Dalvik Heap : 虚拟机VM使用的内存Dalvik Other : 虚拟机VM之外的内存比如Java的GC内存Stack应用中的原生堆栈和 Java 堆栈使用的内存Pss Total: 应用程序真实占用了物理内存的空间Heap Alloc : 程序虚拟已使用的内存Heap Size程序堆的总内存Heap Free : 空闲的内存private dirty : 私用共享内存PrivateClean和Dirty的应用进程单独使用的内存代表着系统杀死你的进程后可以实际回收的内存总量。通常需要特别关注其中更为昂贵的dirty部分它不仅只被你的进程使用而且会持续占用内存而不能被从内存中置换出存储。申请的全部Dalvik和本地heap内存都是Dirty的和Zygote共享的Dalvik和本地heap内存也都是Dirty的。Dalvik HeapDalvik虚拟机使用的内存包含dalvik-heap和dalvik-zygote堆内存所有的Java对象实例都放在这里。Heap Alloc累加了Dalvik和Native的heap。PSS这是加入与其他进程共享的分页内存后你的应用占用的内存量你的进程单独使用的全部内存也会加入这个值里多进程共享的内存按照共享比例添加到PSS值中。如一个内存分页被两个进程共享每个进程的PSS值会包括此内存分页大小的一半在内。Dalvik Pss内存 私有内存Private Dirty 共享内存Shared Dirty / 共享进程数TOTAL上面全部条目的累加值全局的展示了你的进程占用的内存情况。ViewRootImpl应用进程里的活动窗口视图个数可以用来监测对话框或者其他窗口的内存泄露。AppContexts及Activities应用进程里Context和Activity的对象个数可以用来监测Activity的内存泄露。官方文档adb shell run-as 包名 cat /proc/pid/maps查看so虚拟内存大小查看cpuadb shell cat /proc/cpuinfo查看cpu硬件信息adb shell cat /proc/statuser (1) Time spent in user mode.nice (2) Time spent in user mode with low priority (nice).system (3) Time spent in system mode.adb shell ps -t -c -p -x pid查看线程信息PPID 父进程IDVSIZE 进程虚拟地址空间大小RSS 进程正在使用物理内存大小用户态和内核态时间(单位s) u:130, s:12ps进程命令Linux进程状态解析之R、S、D、T、Z、Xadb shell top -m 10 -s cpu(-m显示最大数量-s 按指定行排序)PID : 应用程序IDPR 在android N之前代表运行在哪个核上在android N上代表优先级当然可能设备厂商会进行自定义S : 进程的状态S表示休眠R表示正在运行Z表示僵死状态N表示该进程优先值是负数#THR : 程序当前所用的线程数VSS : 虚拟耗用内存包含共享库占用的内存RSS : 实际使用物理内存包含共享库占用的内存PCY : 前台(fg)和后台(bg)进程UID : 用户身份IDName : 应用程序名称adb shell top -t -m 10 -s cpu(-t显示线程-m显示最大数量-s 按指定行排序)获取cpu使用率其他指令adb logcat *:Eadb查看错误日志在zshrc文件中添加setopt no_nomatchadb monkey test:adb shell monkey -p your.package.name -v 500输出线程trace需要root排查线程问题adb shell debuggerd -b [tid]Android打印Trace堆栈adb shell dumpsys activity topadb shell dumpsys activity 包名查看指定包名当前窗口显示布局结构信息可以查看当前activity布局adb shell logcat | grep ActivityManager查看ActivityManager日志adb shell getprop ro.product.cpu.abi查看cpu架构adb shell cat proc/[pid]/statm查看进程占用虚拟内存、物理内存大小Size (pages) 任务虚拟地址空间的大小 VmSize/4Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4Shared(pages) 共享页数 0Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4Drs(pages) 程序数据段和用户态的栈的大小 VmData VmStk 4adb pull和adb pushadb pull remote localadb push local remoteadb pull /sdcard/mine.jpg ~/Desktop/adb push xxx.txt /sdcard/a.txt签名相关查看keystore的信息keytool -list -keystore demo.keystore -alias mykey -v查看keystore的公钥证书信息keytool -list -keystore demo.keystore -alias mykey -rfc注获取Base64格式的公钥证书RFC 1421查看apk的签名信息jarsigner -verify -verbose -certs your_apk_path.apkadb查看屏幕分辨率adb shell wm sizeadb shell dumpsys window | WINDOW MANAGER DISPLAY CONTENTSadb 安装包adb install -r -d -f apk_pathadb应用后台模拟清除内存adb shell am kill 包名adb设置logcat缓冲区大小adb shell setprop persist.logd.size 8Mdumpsys系统服务adb shell dumpsys -l查看当前运行时的activityadb shell dumpsys activity | grep “mFocusedActivity”参考Monkey工具
返回列表