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

関連情報