Linux 如何通过系统调用获得CPU MHz(in/proc/cpuinfo)?
在/proc/cpuinfo中,我发现一个奇怪的参数cpumhz一直在变化。我想研究它是如何工作的。是否存在可以帮助我获取此参数的系统调用?我希望这个系统调用能帮助我知道如何计算cpu MHz 不,没有系统调用会告诉您CPU的当前速度。如果您不想为其编写内核模块而想知道该值,可以读取/proc/cpuinfo文件,该文件正是为了这个目的而存在的,它使这些信息可供用户空间程序使用。此外,还列出了获取此类信息的更多方法Linux 如何通过系统调用获得CPU MHz(in/proc/cpuinfo)?,linux,linux-kernel,cpu,system-calls,Linux,Linux Kernel,Cpu,System Calls,在/proc/cpuinfo中,我发现一个奇怪的参数cpumhz一直在变化。我想研究它是如何工作的。是否存在可以帮助我获取此参数的系统调用?我希望这个系统调用能帮助我知道如何计算cpu MHz 不,没有系统调用会告诉您CPU的当前速度。如果您不想为其编写内核模块而想知道该值,可以读取/proc/cpuinfo文件,该文件正是为了这个目的而存在的,它使这些信息可供用户空间程序使用。此外,还列出了获取此类信息的更多方法 如果您想知道这些值是如何计算的,可以查看Linux内核的源代码。特别是,这是一个
如果您想知道这些值是如何计算的,可以查看Linux内核的源代码。特别是,这是一个很好的起点。不,没有系统调用会告诉您CPU的当前速度。如果您不想为其编写内核模块而想知道该值,可以读取/proc/cpuinfo文件,该文件正是为了这个目的而存在的,它使这些信息可供用户空间程序使用。此外,还列出了获取此类信息的更多方法
如果您想知道这些值是如何计算的,可以查看Linux内核的源代码。特别是,这是一个很好的起点。您可能会发现/sys文件系统中的信息更容易解析: $grep/sys/devices/system/cpu/cpu*/cpufreq/scaling\u cur\u freq /sys/devices/system/cpu/cpu0/cpufreq/scaling\u cur\u freq:900014 /sys/devices/system/cpu/cpu1/cpufreq/scaling\u cur\u freq:900016 /sys/devices/system/cpu/cpu2/cpufreq/scaling\u cur\u freq:883064 /sys/devices/system/cpu/cpu3/cpufreq/scaling\u cur\u freq:862357
在/sys/devices/system/cpu/cpu*/下,您会发现系统中每个cpu的更有趣的属性,所有这些属性都是易于解析的格式,通常只有一行您可能会发现/sys文件系统中的信息更易于解析: $grep/sys/devices/system/cpu/cpu*/cpufreq/scaling\u cur\u freq /sys/devices/system/cpu/cpu0/cpufreq/scaling\u cur\u freq:900014 /sys/devices/system/cpu/cpu1/cpufreq/scaling\u cur\u freq:900016 /sys/devices/system/cpu/cpu2/cpufreq/scaling\u cur\u freq:883064 /sys/devices/system/cpu/cpu3/cpufreq/scaling\u cur\u freq:862357
在/sys/devices/system/cpu/cpu*/下,您会发现系统中每个cpu的更有趣的属性,它们都以一种易于解析的格式存在,通常只有一行我希望这个syscall可以帮助我知道如何计算cpu MHz。-为此,您可以检查/proc/cpuinfo文件的实现。与/proc文件系统中的其他文件一样,此文件在内核中实现。打开和读取是系统调用。我希望此系统调用可以帮助我了解如何计算cpu MHz。-为此,您可以检查/proc/cpuinfo文件的实现。与/proc文件系统中的其他文件一样,该文件在内核中实现。open和read是系统调用。