2016-10-05 5 views
1

나는 실제 최대 CPU 코어 속도를 얻으려고하고있다.어떻게 실제 최대 CPU 코어 속도를 얻으시겠습니까?

이 코드는 내 넥서스 5 배의 네 1 코어에 대한 작동하지만, 지난 2 개 코어 실패 : 첫째, 실제 값을 얻을 최초의 4

 for (int i = 0; i < cpuCoresNumber; i++) { 
      try { 
       BufferedReader freqBufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("/sys/devices/system/cpu/cpu" + i + "/cpufreq/scaling_max_freq")))); 
       int freq = Integer.valueOf(freqBufferedReader.readLine()).intValue()/1000; 
       freqBufferedReader.close(); 
       coreMaxFreqArray[i] = freq; 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 

, 지난 2 전 실제 값을 얻지 만, 예를 들어 600, 300, 0 ...과 같은 더 낮은 값을 얻는 경우가 있습니다. 마지막 두 코어의 실제 값은 1800mhz입니다.

+1

도움이되기를 바랍니다 각각의 코어 속도를 얻을 수 있습니다 : _ "의 SoC 조절을 또 다른 큰 문제입니다 "Snapdragon 808은 두 개의 A57 코어를 2 분 동안 최대 주파수로 유지하기 전에 633MHz로 조절하고 A53을 최대 1.44GHz까지 조절할 수 있습니다."Anandtech은 Nexus 5X에서 다음과 같이 말합니다. 체계 성능 검토. "12 분 후 A57은 완전히 차단되고, 1.44GHz에서 4 개의 A53 코어 클러스터가 남아있게됩니다." "_ – Michael

+0

네,하지만 Google의 일부 앱에서 코어의 최대 속도를 볼 수 있습니다. 그 코어의 최대 속도를 검사하고 있으므로 어딘가에 그것을 확인하는 것이 가능할 것이라고 확신합니다. – NullPointerException

+0

"cat/sys/devices/system/cpu/cpu"+ i + "/ cpufreq/scaling_available_frequencies "를 선택하고 가장 큰 숫자를 선택합니까? – Michael

답변

0

일부를 시도해보십시오. 각 코어의 최대 주파수를 얻기 위해 명령을 실행했습니다.

private String exCommand(String comando) throws IOException { 
    try { 
     Process process = Runtime.getRuntime().exec(comando); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); 
     int read; 
     char[] buffer = new char[4096]; 
     StringBuilder output = new StringBuilder(); 
     while ((read = reader.read(buffer)) > 0) { 
      output.append(buffer, 0, read); 
     } 
     reader.close(); 
     process.waitFor(); 
     return output.toString(); 
    } catch (IOException | InterruptedException e) { 
     throw new RuntimeException(e); 
    } 
} 

그리고 내 주요 방법에이 코드를 writed는

 for (int i = 0; i <= cores; i++) { 
     speed = exCommand("cat /sys/devices/system/cpu/cpu"+i+"/cpufreq/cpuinfo_max_freq"); 
     vel = Double.parseDouble(speed); 
     vel = vel /1000000; 
     System.out.println(vel); 
    } 

그것이 빠른 인터넷 검색이 날이 준