2010-06-11 47 views

Trả lời

38

Để có tần số trên Android, chỉ cần đọc những tập tin đặc biệt trong thư mục/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" 

Bạn sẽ phải hiện tại, min và Tần số tối đa cho phép.

+3

Câu trả lời tuyệt vời Ellis, bạn thực sự đã giúp tôi rất nhiều. Một điều mà tôi thấy trong điều tra này là scaling_cur_freq không nhất thiết phải là tần số CPU hiện tại, mà đúng hơn là hạt nhân nghĩ tần số là gì. Để có được tần số thực, bạn cần quyền truy cập root để đọc cpuinfo_cur_freq. Ngoài ra, việc truy cập root cũng cho phép bạn thiết lập tốc độ CPU, điều này khá hữu ích cho việc lược tả trong điều kiện tốt nhất/xấu nhất. – JonnyBoy

+0

Hummm Dường như với tôi rằng ngay cả với quyền truy cập root, bạn không thể chỉnh sửa các tệp cpuinfo_ * .. – JohnTortugo

+0

Làm cách nào để tải hoặc sử dụng CPU? – Ashkan

7

không phải MHz, nhưng ít nhất là một cái gì đó. Giá trị bogoMIPS có thể hữu ích cho bạn.

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

Cảm ơn, nhưng có cách nào để chuyển đổi sang MHz hoặc đọc ở đâu đó không? – michael

+10

Bất kỳ lý do nào bạn không chỉ mở/proc/cpuinfo dưới dạng tệp và đọc trực tiếp? – fadden

+0

michael, đọc một trang wiki về bogoMIPS, có một công thức. fadden, tôi không chắc rằng tập tin có thể được đọc đơn giản từ java, chỉ cần tìm thấy mã này nằm xung quanh. –

3

Nếu bạn quan tâm đến hệ thống của bạn đã trải qua bao lâu trong những gì nhà nước, hãy kiểm tra các tập tin

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

Tôi không chắc chắn, cho dù quyền root là cần thiết cho điều đó.

+0

Truy cập root dường như không cần thiết, không giống như 'cpuinfo_cur_freq'. –

Các vấn đề liên quan