adb shell dumpsys meminfo nombre_paquete o pid
p.ej
adb shell dumpsys meminfo com.android.systemui
adb shell dumpsys meminfo com.android.settings
Ver la columna de pss total, que indica cuánta memoria se usa
En términos generales, la huella de memoria tiene las siguientes reglas: VSS> = RSS> = PSS> = USS
VSS-Virtual Set Size consumo de memoria virtual (incluida la memoria ocupada por bibliotecas compartidas)
RSS-Resident Set Size memoria física real utilizada (incluida la memoria ocupada por bibliotecas compartidas)
PSS-Proportional Set Size memoria física real utilizada (ocupada por bibliotecas compartidas) Memoria)
Memoria física USS-Unique Set Size ocupada solo por el proceso (sin incluir la memoria ocupada por bibliotecas compartidas)
adb shell dumpsys meminfo | grep nombre_paquete
adb shell dumpsys meminfo | grep com.android.settings
adb shell dumpsys meminfo | grep com.android.systemui
ps -A | grep -i servidor de cámaras
ps -A | grep -i com.android.systemui
adb shell cat / proc / meminfo
MemFree: la cantidad de memoria libre, lo que significa la memoria no utilizada del sistema. MemUsed = MemTotal-MemFree es la memoria que se ha utilizado.
MemAvailable: la cantidad de memoria disponible, la cantidad de memoria disponible para la aplicación. Aunque se ha utilizado parte de la memoria en el sistema, se puede recuperar. Por ejemplo, la memoria caché / búfer y losa se pueden recuperar, por lo que MemFree no puede representar toda la memoria disponible. Esta parte de la memoria recuperable más MemFree es la memoria disponible para el sistema. Es decir: MemAvailable≈MemFree + Buffers + Cached , que es calculado por el kernel usando un algoritmo específico y es un valor estimado. La diferencia clave entre este y MemFree es que MemFree se refiere al nivel del sistema y MemAvailable se refiere al nivel de la aplicación.
MemoryInfo memoryInfo = new MemoryInfo ();
ActivityManager privado mActivityManager = (ActivityManager) getSystemService (Context.ACTIVITY_SERVICE);
// ActivityManager privado mActivityManager = = (ActivityManager) getInstrumentation (). getTargetContext (). getSystemService (Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
mActivityManager.getMemoryInfo (memoryInfo);
long availMem = memoryInfo.availMem / 1024/1024;
long totalMem = memoryInfo.totalMem / 1024/1024;
umbral largo = memoryInfo.threshold / 1024/1024;
Log.i (TAG, "totalMem =" + totalMem + "availMem =" + availMem + "umbral =" + umbral);
private void getProcessMemroy() {
//ActivityManager am = (ActivityManager) getInstrumentation()
// .getContext().getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager am = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> apps = am.getRunningAppProcesses();
for (RunningAppProcessInfo proc : apps) {
Log.i(TAG, "process:"+proc.processName);
if (!proc.processName.contains("com.android.settings")) {
continue;
}
int[] pids = new int[1];
pids[0]=proc.pid;
MemoryInfo meminfo = am.getProcessMemoryInfo(pids)[0];
Log.i(TAG, "pid="+proc.pid+" totalPSS="+meminfo.getTotalPss()/1024+" nativePSS="+meminfo.nativePss/1024+" dalvikPSS="+meminfo.dalvikPss/1024);
}
import java.lang.Process;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
String cmd = "adb shell dumpsys meminfo com.android.settings";
int mem_result = 0;
try { Proceso p = Runtime.getRuntime (). exec (cmd);
InputStream input = p.getInputStream ();
Lector BufferedReader = nuevo BufferedReader (nuevo InputStreamReader (entrada));
String line = "";
while ((línea = reader.readLine ())! = null) { if (line.startsWith ("TOTAL")) { Log.i (TAG, line.trim ()); descanso; } } reader.close (); input.close (); } catch (IOException e) { Log.e (TAG, "dumpsys meminfo falló" + e); }
#! / bin / bash
adb root
adb esperar al dispositivo
adb shell setenforce 0
para ((i = 1; i <10; i ++));
do
time1 = $ (date "+% Y% m% d-% H% M% S")
echo $ time1 >> ./log.txt
adb shell dumpsys meminfo >> ./log.txt
sleep 20s
done