IOTOPが文句を言います:CONFIG_TASK_DELAY_ACCTがカーネルで有効になっていません。

IOTOPが文句を言います:CONFIG_TASK_DELAY_ACCTがカーネルで有効になっていません。

周りを見て、標準的な修正はカーネルブートパラメータに追加することでした。

systemd-bootを使用すると、私のarch.confは次のようになります。

 title   Arch Linux
 linux   /vmlinuz-linux
 initrd  /intel-ucode.img
 initrd  /initramfs-linux.img
 options root=PARTUUID="98b3b4f7-e7f9-6f49-be81-a2ee709c7a3e" rw

optionsアイテムにCONFIG_TASK_DELAY_ACCTをどのように追加しますか?

別の行?

または、一部の区切り文字を使用して既存の行に追加しますか?

どの値に設定する必要がありますか?

答え1

実際に発生したiotopエラーの簡単な修正方法がありますが、ここからそこに行くのはバイパスです。

options delayacct[TL; DR:systemd-bootを使用している場合は、sd-bootエントリ構成ファイルの末尾に新しい行を追加してください。 GRUBには対応する構文があります。優先される可能性のある代替の非ブートマネージャの設定オプションもあります。 ]

@Artemが正しいです。CONFIG_TASK_DELAY_ACCTカーネル構成またはビルドオプションです。その人もそうです。したがって、これはカーネルのコンパイル方法に関連しており、実行時に追加することはできません。つまり、開始時。

CONFIG_TASK_DELAY_ACCT多くのディストリビューションでは、このオプションを使用してカーネルをコンパイルしますが、デフォルトでは無効になっているため、iotopは "y"に設定されている場合でもこのエラーが発生します。

これは、iotopエラーメッセージの文字通りの意味にかかわらず、カーネルの再コンパイルは時間の無駄になる可能性があることを意味します。確認するには、カーネル構成ファイルを確認してください。ファイル(構成 -カーネルバージョン)一般的にカーネル(vmlinuz-カーネルバージョン)とinitrd(ini​​trd.img-カーネルバージョン)文書、例えばあるいは、EFIシステムパーティションがインストールされている場所によって異なり/bootます。/efiだから、例えば:

grep TASK_DELAY_ACCT /boot/config*

これは次の結果を返すことができます。

/boot/config-5.15.0-41-generic:CONFIG_TASK_DELAY_ACCT=y
/boot/config-5.15.0-43-generic:CONFIG_TASK_DELAY_ACCT=y

=yカーネルがこのオプションでコンパイルされたことを知らせます。これにより、iotopエラーメッセージはあまり不思議になりませんが、カーネルが正常であることを確認します。その場合は、対応するカーネルパラメータをkernel.task_delayacct有効にして、iotopエラーを修正する必要があることを確認してください。パラメーターを確認するには、次のようにします。

cat /proc/sys/kernel/task_delayacct

0が返されると無効になります。 1. 有効になりました。このパラメータを有効にするには、次のいずれかを実行します。

  • 現在のセッションの場合:

    echo 1 > /proc/sys/kernel/task_delayacct

    これはすぐに適用され、再起動は不要です。

  • より永続的にするには、新しい行または埋め込み/etc/sysctl.conf.conf ファイルに次を追加します/etc/sysctl.d

    kernel.task_delayacct=1

    またはこれを行う:

    # echo "kernel.task_delayacct=1" >> /etc/sysctl.d/20-kernel-task-delayacct.conf

    適用するには再起動してください。

  • delayacctブートマネージャによってカーネルコマンドラインに追加されます。これはsystemd-bootについて質問するときに取るアプローチです。

    GRUB2の場合、次の行を追加または編集して/etc/default/grub読みます。 GRUB_CMDLINE_LINUX_DEFAULT="delayacct"

    次に、ファイルを保存して閉じてから、次の操作を行います。

    # update-grub

    適用するには再起動してください。

    システム起動の場合、編集してください入り口.confファイルを作成して新しい行を追加するだけです。

    options delayacct

    システム起動特許キーoptionsはブートローダエントリファイルに複数回表示されるため、既存のキーを編集するのではなく、追加の行を追加するだけでoptions十分です。

    適用するには再起動してください。

答え2

これはカーネルです立てるオプションなので、実行時に「追加」できません。

独自のカーネルをビルドするか、管理者にこのオプションを使用してカーネルをビルドするように依頼してください。一部のカーネルオプションは他のオプションに依存しており、これらの依存関係は非常に望ましくない可能性があるため、これを実行したり、実行しないことがあります。たとえば、カーネルの速度が大幅に遅くなる可能性があります。

関連情報