2010-06-11 28 views

Respuesta

38

Tener frecuencia en Android, acaba de leer estos ficheros especiales en el directorio/sys:

#cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq" 
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq" 
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" 

Tendrá actual, min Frecuencia máxima permitida.

+3

Respuesta impresionante Ellis, realmente me ayudaste mucho. Una cosa que encontré al investigar esto fue que scaling_cur_freq no es necesariamente la frecuencia actual de la CPU, sino más bien lo que el kernel piensa que es la frecuencia. Para obtener la frecuencia real, necesita acceso de root para leer cpuinfo_cur_freq. Además, obtener acceso a la raíz le permite configurar la velocidad de la CPU, que es bastante útil para crear perfiles en las mejores y peores condiciones. – JonnyBoy

+0

Hummm Me parece que incluso con acceso raíz no puede editar los archivos cpuinfo_ *. – JohnTortugo

+0

¿Cómo podemos obtener carga o utilización de la CPU? – Ashkan

7

no MHz, pero al menos algo. bogoMIPS valor puede ser útil para usted.

private String ReadCPUinfo() 
{ 
    ProcessBuilder cmd; 
    String result=""; 

    try{ 
    String[] args = {"/system/bin/cat", "/proc/cpuinfo"}; 
    cmd = new ProcessBuilder(args); 

    Process process = cmd.start(); 
    InputStream in = process.getInputStream(); 
    byte[] re = new byte[1024]; 
    while(in.read(re) != -1){ 
    System.out.println(new String(re)); 
    result = result + new String(re); 
    } 
    in.close(); 
    } catch(IOException ex){ 
    ex.printStackTrace(); 
    } 
    return result; 
} 
+0

Gracias, pero ¿hay alguna forma de convertirlo a MHz o leerlo en alguna parte? – michael

+10

¿Alguna razón por la que no solo está abriendo/proc/cpuinfo como un archivo y leyéndolo directamente? – fadden

+0

michael, lee una página wiki sobre bogoMIPS, hay una fórmula. fadden, no estoy seguro de que el archivo pueda leerse simplemente de Java, acaba de encontrar este código por ahí. –

3

Si usted está interesado en el tiempo que el sistema gasta en qué estado, desproteger el archivo

/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state 

No estoy seguro, si el acceso root es necesario para eso.

+0

El acceso raíz no parece ser necesario, a diferencia de 'cpuinfo_cur_freq'. –

Cuestiones relacionadas