日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...

發布時間:2024/1/23 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、利用Android API函數查看

1.1 ActivityManager查看可用內存。

ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();

am.getMemoryInfo(outInfo);

outInfo.availMem即為可用空閑內存。

1.2、android.os.Debug查詢PSS,VSS,USS等單個進程使用內存信息

MemoryInfo[] memoryInfoArray = am.getProcessMemoryInfo(pids);

MemoryInfo pidMemoryInfo=memoryInfoArray[0];

pidMemoryInfo.getTotalPrivateDirty();

getTotalPrivateDirty()

Return total private dirty memory usage in kB. USS

getTotalPss()

Return total PSS memory usage in kB.

PSS

getTotalSharedDirty()

Return total shared dirty memory usage in kB. RSS

二、直接對Android文件進行解析查詢,

/proc/cpuinfo系統CPU的類型等多種信息。

/proc/meminfo 系統內存使用信息

/proc/meminfo

MemTotal: 16344972 kB

MemFree: 13634064 kB

Buffers: 3656 kB

Cached: 1195708 kB

我們查看機器內存時,會發現MemFree的值很小。這主要是因為,在linux中有這么一種思想,內存不用白不用,因此它盡可能的cache和buffer一些數據,以方便下次使用。但實際上這些內存也是可以立刻拿來使用的。

所以 空閑內存=free+buffers+cached=total-used

通過讀取文件/proc/meminfo的信息獲取Memory的總量。

ActivityManager. getMemoryInfo(ActivityManager.MemoryInfo)獲取當前的可用Memory量。

三、通過Android系統提供的Runtime類,執行adb 命令(top,procrank,ps...等命令)查詢

通過對執行結果的標準控制臺輸出進行解析。這樣大大的擴展了Android查詢功能.例如:

final Process m_process = Runtime.getRuntime().exec("/system/bin/top -n 1");

final StringBuilder sbread = new StringBuilder();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(m_process.getInputStream()), 8192);

# procrank

Runtime.getRuntime().exec("/system/xbin/procrank");

內存耗用: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

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 incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.

總結

以上是生活随笔為你收集整理的安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。