
지금까지 내가 이해한 것은 프로그램이 아래의 파일을 열고 읽을 때 /proc/
커널이 즉시 정보를 생성한다는 것입니다. 특정한 경우, cpuinfo
대부분의 데이터는 하드웨어에 의해 결정되며 시스템이 실행되는 동안에는 분명히 변경되지 않습니다. 내가 확실하지 않은 것은모두그 데이터의할 수 없다시스템이 실행되는 동안 변경됩니다.
/proc/cpuinfo
시스템을 다시 시작하지 않고도 에서 반환된 값을 변경할 수 있습니까 ?
답변1
예. 우선, 이 cpu MHz
분야는 다음을 보여주기 때문에 매우 자주 바뀔 것입니다.현재의CPU의 속도. 예를 들어 내 시스템에서는 다음과 같습니다.
$ for i in {1..10}; do grep -m 1 MHz /proc/cpuinfo ; done
cpu MHz : 1596.000
cpu MHz : 1596.000
cpu MHz : 1596.000
cpu MHz : 1596.000
cpu MHz : 2394.000
cpu MHz : 2394.000
cpu MHz : 1596.000
cpu MHz : 1596.000
cpu MHz : 2394.000
cpu MHz : 2394.000
cpu MHz
위의 명령은 첫 번째 CPU의 라인을 10번 인쇄합니다 . 위에서 볼 수 있듯이 결과적으로 2개의 별도 값이 생성되었으며 이는 대기 시간을 추가하지 않고도 가능했습니다. 이 필드는 매우 자주 변경될 것으로 예상할 수 있습니다. 다른 값은 변경될 가능성이 없다고 생각하며 테스트에서도 변경된 사항이 없지만 맹세할 수는 없습니다.
답변2
아키텍처에 따라 다릅니다. 관련 코드는 여기에 있습니다(ARM의 경우).
http://lxr.free-electrons.com/source/arch/arm/kernel/setup.c#L1074
참고: ARM의 경우 모든 필드는 계산된 후에 일정하게 유지되어야 하는 것으로 보입니다. 그렇지 않습니다 cpu MHz
(아키텍처에 대한 @terdon의 답변을 참조함).
예를 들어 Raspberry Pi의 출력은 다음과 같습니다.
pi@raspberrypi ~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 1
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 2
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
processor : 3
model name : ARMv7 Processor rev 5 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 5
Hardware : BCM2709
Revision : a01041
Serial : 000000002489fe23