1. 程式人生 > >檢視Linux & Android中記憶體佔用方法

檢視Linux & Android中記憶體佔用方法

1. procrank (only for Android)

它從/proc/pid/maps中讀取資訊來進行統計。原始碼位於:/system/extras/procrank

記憶體耗用:VSS/RSS/PSS/USS
• VSS - Virtual Set Size 虛擬耗用記憶體(包含共享庫佔用的記憶體)
• RSS - Resident Set Size 實際使用實體記憶體(包含共享庫佔用的記憶體)
• PSS - Proportional Set Size 實際使用的實體記憶體(比例分配共享庫佔用的記憶體)
• USS - Unique Set Size 程序獨自佔用的實體記憶體(不包含共享庫佔用的記憶體)

2. cat /proc/pid/status

VmPeak:     表示程序所佔用最大虛擬記憶體大小
VmSize:      表示程序當前虛擬記憶體大小
VmLck:       表示被鎖定的記憶體大小
VmHWM:    表示程序所佔用實體記憶體的峰值
VmRSS:     表示程序當前佔用實體記憶體的大小(與procrank中的RSS)
VmData:     表示程序資料段的大小
VmStk:       表示程序堆疊段的大小
VmExe:      表示程序程式碼的大小
VmLib:       表示程序所使用共享庫的大小
VmPTE:      表示程序頁表項的大小

3. 舉例

[email protected]
:/ $ procrank PID Vss Rss Pss Uss cmdline 16044 247156K 94580K 81361K 79708K com.android.pingpang 16698 242440K 66436K 45516K 42064K com.android.yujia [email protected]:/ $ cat /proc/16044/status VmPeak: 703476 kB VmSize: 550940 kB VmLck: 0 kB VmHWM: 101500 kB VmRSS: 94140 kB VmData: 102016 kB VmStk: 136 kB VmExe: 8 kB VmLib: 37968 kB VmPTE: 346 kB VmSwap: 0 kB Threads: 22
[email protected]
:/ $ cat /proc/16698/status VmPeak: 693460 kB VmSize: 516736 kB VmLck: 0 kB VmHWM: 71204 kB VmRSS: 66060 kB VmData: 58960 kB VmStk: 136 kB VmExe: 8 kB VmLib: 46568 kB VmPTE: 344 kB VmSwap: 0 kB Threads: 26

相關推薦

檢視Linux & Android記憶體佔用方法

1. procrank (only for Android) 它從/proc/pid/maps中讀取資訊來進行統計。原始碼位於:/system/extras/procrank 記憶體耗用:VSS/RSS/PSS/USS • VSS - Virtual Set Size 虛擬

檢視Linux磁碟及記憶體佔用情況

檢視磁碟使用情況: df -k:以KB為單位顯示磁碟使用量和佔用率 df -m:以Mb為單位顯示磁碟使用量和佔用率 df –help:檢視更多df命令及使用方法 檢視記憶體佔用情況: 1.top PID:當前執行程序的ID USE

Android圖片佔用記憶體的計算

本人的網易部落格原文 在Android開發中,我現在發現很多人還不會對圖片佔用記憶體進行很好的計算。因此撰寫該博文來做介紹,期望達到拋磚引玉的作用。   Android中一張圖片(BitMap)佔用的記憶體主要和以下幾個因數有關:圖片長度,圖片寬度,單位畫素佔用的位元組

Linux系統used記憶體佔用很大,而實際系統個程序並沒有佔用這麼多記憶體

問題 新裝伺服器,used記憶體佔用很大,而實際系統中個程序並沒有佔用這麼多記憶體 現象 top檢視下,used很大,如果有其他外部程式向監控伺服器的記憶體,used實際是個比較關鍵的指標,而該指標卻並沒有反應出伺服器實際佔用情況: 原因 實

如何檢視linux系統空閒記憶體/實體記憶體使用/剩餘記憶體

檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體 檢視系統記憶體有很多方法,但主要的是用top命令和free 命令 當執行top命令看到結果,要怎麼看呢?這裡說明一下: Mem: 666666k total, 55555k used,並不是代表你的應用程式已經使用

檢視linux伺服器的記憶體和CPU資訊

記憶體資訊: 檢視記憶體資訊 # cat /proc/meminfo CPU: 註釋: 1、總核數 = 物理CPU個數 X 每顆物理CPU的核數  2、總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 # 檢視物理CPU個數 cat

查詢Linux系統佔用磁碟空間最大的前10個檔案或資料夾

   當磁碟空間被迅速佔用的時候,我們必須找出一些,比較佔用磁碟空間的檔案或者資料夾。通常情況下,最有可能找出佔用磁碟空間檔案或資料夾的地方,主要是 /tmp or /var or /home。       目前沒有單個命令來

Android BitmapFactory.decodeResource方法引數個代表什麼意思

BitmapFactory.decodeResource(?,?)這個帶兩個引數的方法:第一個引數是包含你要載入的點陣圖資原始檔的物件(一般寫成 getResources()就ok了);第二個時你需要載入的點陣圖資源的Id。 BitmapFactory.decodeResource(?

檢視 Linux 磁碟及記憶體使用狀況

本文寫在:最近同步幾百T資料時候產生問題 ①:日誌列印太多,造成磁碟空間爆滿 ②:執行緒開太多,造成 CPU 使用率過高,程式掛掉 檢視磁碟使用情況 df -h 輸出顯示的數字形式的’G’(千兆位元組),“M”(兆位元組)和"K"(千位元組) Size:總

android泛型方法的用法和作用

舉個例子 首先我的activity中  @Route(path = "/datainit/DataInitActivity") class DataInitActivity: BaseActivity(){ override fun onCreate(savedInstan

分析並優化 Android 應用記憶體佔用

視訊觀看筆記,如需轉載,請註明出處 演講人介紹 Rechard Uhler,Android Runtime 開發工程師。為便於寫作,筆者將以第一人稱視角對視訊內容進行概述。 視訊地址 1. 前言 想要進行記憶體優化,就必須對 Android 記憶體管理機制有比較深入的瞭解,這樣

解決Linux buffer/cache記憶體佔用過高的辦法

-------原文地址 https://www.cnblogs.com/rocky-AGE-24/p/7629500.html --------本文只是搬運 在Linux系統中,我們經常用free命令來檢視系統記憶體的使用狀態。在一個RHEL6的系統上,fr

檢視linux版本的幾種方法

(1)lsb_release 命令檢視,FSG(Free Standards Group)組織開發的LSB (Linux Standard Base)標準的一個命令,用來檢視linux相容性的發行版資訊 [[email protected] oracle]# l

檢視docker容器的記憶體佔用

使用docker stats命令可以檢視容器的記憶體,但是有時候docker stats命令獲得的資料可能準確,可以參考下面這種方式 先通過docker ps -a 找到容器的container id 再使用ps -ef 找到容器對應的程序 獲得容器對應的pid後,就可以使用top、pmap、ps等檢視

關於AndroidRuntime.exec()方法的使用誤區

在工作中曾經遇到需要使用Java程式碼執行shell命令的問題。Android中倒是有幾個方法可以來用一下。 由於被困擾了一段時間,今特記之,已明己。 之前是這樣用的: Runtime.getRuntime().exec("ps | grep xxx"); 但是不幸的是,在

Android呼叫js方法及js呼叫本地方法

Android中內建了WebKit模組,而該模組的Java層檢視類就是WebView,所有需要使用Web瀏覽器功能的Android都需要建立該檢視類物件顯示和處理請求的網路資源。目前WebKit支援Http、Https、Ftp和JavaScript請求。下面我們重點看一下如

pmap : 理解linux的程序記憶體佔用

看了幾篇文章,對linux的程序的記憶體佔用,又有了一點認識,記錄一下。 首先 ps 看一下我的系統跑著哪些process $ ps aux   USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND ... cz

androidView.measure方法詳解

當Activity獲得焦點時,它將被要求繪製自己的佈局,Android framework將會處理繪製過程,Activity只需提供它的佈局的根節點。   繪製過程從佈局的根節點開始,從根節點開始測量和繪製整個layout tree。   每一個ViewGr

Android記憶體洩漏的幾種情況

1.單例造成的記憶體洩漏; Android中單例模式中的餓漢式寫法如下: public class Example  { private static Example Instance; private Example(Context context) { this.con

android記憶體快取是如何實現的

那就有必要來看看LruCache原始碼了 裡面有一個重要的資料結構LinkedHashMap。具體講解在這裡(http://blog.csdn.net/lxj1137800599/article/details/54974988) 在此總結一下用法: 1.