zoukankan      html  css  js  c++  java
  • adb命令查看手机应用内存使用情况

    adb shell回车

    一、procrank

    VSS >= RSS >= PSS >= USS
    VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间
    RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库, 尽管无论多少个进程使用,实际该共享库只会被装入内存一次。
    PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
    USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)USS 是一个非常非常有用的数字, 因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止, USS 就是实际被返还给系统的内存大小。
    USS 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加

    二、dumpsys meminfo(或者直接读取“/proc/meminfo”文件来获得内存信息--Linux系统)

    1、cat /proc/meminfo

    MemTotal: 所有可用RAM大小(即物理内存减去一些预留位和内核的二进制代码大小)。
    MemFree:被系统留着未使用的内存。

    Buffers: 用来给文件做缓冲的大小。

    Cached: 被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache ).

    SwapCached:swap 缓存的大小,Android很少使用swap的,经常为0。被高速缓冲存储器(cache memory)用来交换空间的大小,用来在需要的时候很快的被替换而不需要再次打开I/O端口。

    Active: 在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要,否则不会被移作他用。

    Inactive: 在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径。

    SwapTotal: 交换空间的总大小。

    SwapFree: 未被使用交换空间的大小。

    2、dumpsys meminfo 进程pid或程序包名
     查询结果根据以下4类分类:

    OOM(out of memory)即内存泄露。一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。

    Android的一个应用程序的内存泄露对别的应用程序影响不大,因为为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,也就是说每个应用程序都是在属于自己的进程中运行的。如果程序内存溢出,Android系统只会kill掉该进程,而不会影响其他进程的使用(如果是system_process等系统进程出问题的话,则会引起系统重启)。

  • 相关阅读:
    正则化--L1正则化(稀疏性正则化)
    机器学习分类算法之随机森林
    机器学习分类算法之逻辑回归
    机器学习分类算法之朴素贝叶斯
    机器学习分类算法之K近邻(K-Nearest Neighbor)
    机器学习之特征工程
    uwsgi支持http长链接
    机器学习之数据预处理
    机器学习之场景解析
    机器学习之基本概念
  • 原文地址:https://www.cnblogs.com/decode1234/p/12295276.html
Copyright © 2011-2022 走看看