Linux-Kernel
在什麼情況下,如果有的話,讀取/proc/cpuinfo的結果會改變嗎?
到目前為止我所理解的是,當程序打開並讀取 下
/proc/
的任何文件時,核心將即時生成資訊。在cpuinfo
大多數數據的特定情況下,這些數據是由硬體決定的,並且在系統執行時顯然不會改變。我不確定的是系統執行時是否所有數據都無法更改。是否可以更改返回的任何值
/proc/cpuinfo
而無需重新啟動系統?
是的。一方面,該
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 的行列印
cpu MHz
10 次。正如您在上面看到的,這導致了 2 個單獨的值,而這甚至沒有增加任何等待時間。您可以預期此欄位會經常更改。我認為其他任何值都不會改變,在我的測試中也沒有改變,但我不能發誓。