bogoMIPS 값을 얻기 위해 삼성 Galaxy (sgh-i897)에서 cpuinfo 파일을 읽었습니다. 그런 정보를 해석하는 법을 배웁니다.bogoMIPS 값이 변경 중입니다
처음로드 스레드의 주요 활동에서이 작업을 수행했으며 항상 997.59의 값을 받았습니다. 어쨌든 필자는 나중에 UI에서 파일을 읽을 필요가 없었기 때문에 파일 읽기 방법을 서비스로 옮겼습니다. 내가 이것을 한 번 읽었을 때의 가치는 상당히 달라졌고, 300 ~ 500 범위와 같이 언제나 훨씬 더 느린 애플리케이션 시작마다 바뀌는 것처럼 보입니다.
내 질문은 :
안드로이드 OS/Linux는 밉스 값의 오차를 유발하고 주기적으로 cpuinfo의 파일을 수정합니까?
그렇다면 강제로 프로그래밍 방식으로 사용할 수 있습니까?
서비스에서 파일을 읽는 주 활동 스레드에 따라 파일이 달라지는 이유는 무엇입니까?
궁극적으로 가장 정확한 숫자를 원한다면 우리가 필요로하는 순간에 스스로 타이밍 루프를 작성하는 것이 가장 좋습니다. (어쨌든,이 때문에 CPU 부하로 변하고 모든 시간을 가정?)와 같은
내 안드로이드 폰은 CPU가 수요가 없을 때 전력을 절약하기 위해 CPU 속도를 동적으로 설정합니다. 나는 대부분의 (아마도 모든) 안드로이드 휴대폰이 이것을한다고 상상할 것입니다. 그래서 이것은 bogoMIPS 값을 바꿀 것입니다 ... – Flimzy
잘 알고 있습니다. 그런 다음 OS는 이것이 발생할 때마다 cpuinfo 파일을 다시 작성하고 (?) 활동이 완전히로드되어 기본적으로 대기 중이므로 (서비스가 시작된 이후) 서비스의 검색이 CPU의 느린 "상태"에있을 수 있습니다. 그건 의미가 있습니다, 난 그냥 부팅 후 한 번만 제외하고 cpuinfo 파일을 업데이 트하는 운영 체제를 기대하지 않았다. – Tam
글쎄, cpuinfo 파일은 실제로 파일이 아닙니다 ... 내부 커널 정보에 대한 파일과 같은 인터페이스 일뿐입니다. 과거에 한 번에 부팅시 bogomips가 계산 된 것 같았습니다 ... 동적 CPU 속도의 출현으로 인해 오래 전에 변경된 것 같습니다 (적어도 이러한 플랫폼의 경우). 그러나 그것은 추측입니다. Google은 아마 더 많이 알고 있습니다. – Flimzy