如何检查CONFIG_HIGH_RES_TIMERS是否启用?

如何检查CONFIG_HIGH_RES_TIMERS是否启用?

我要在Linux上编写一个实时应用程序,但不知道Ubuntu的标准安装是否已CONFIG_HIGH_RES_TIMERS启用。我怎样才能检查这个?

我使用的是 Ubuntu 11.04 64 位。

答案1

Ubuntu 提供了内核配置/boot/config-$version(与内核映像位于同一包中/boot/vmlinuz-$version)。您可以在实时系统上检查此文件,也可以从Ubuntu 网站。有多种图像可供选择; amd64下默认是-generic,您可以下载二进制包并解压文件/boot/config-*。如果您没有运行基于 dpkg 的发行版,打开 Debian 软件包的最简单方法是将其转换为外星人

顺便说一句,在 10.04/-generic/amd64 下答案是肯定的,我在写这个答案时碰巧有可用的。

其他几个发行版也提供了一个/boot/config-*文件。其他人使内核配置可用/proc/config或类似的东西,以便在实时系统上很容易看到,但不会出现在二进制包中。在这种情况下,如果您没有实时系统,则需要检查源码包。

答案2

您可能想使用 _SC_TIMERS 和clock_getres() 等,而不是想知道内核是如何具体配置的。

答案3

许多内核都有通过文件系统公开的配置文件的副本proc

zcat /proc/config |
    grep CONFIG_HIGH_RES_TIMERS

如果没有,内核源代码中有一个工具可以从内核文件本身中提取它:(使用您的内核源目录和内核文件的路径来提取。)

/usr/src/linux/scripts/extract-ikconfig /boot/vmlinuz |
    grep CONFIG_HIGH_RES_TIMERS

相关内容