Nice対ionice:どちらが最初に来るべきですか?

Nice対ionice:どちらが最初に来るべきですか?

長くて重いコマンドを実行する必要がありますが、同時にデスクトップシステムの応答性を維持したいと思います。

例: btrfs 重複排除、btrfs バランシングなど、これらのコマンドに低い優先順位を付けると、コマンドの完了に時間がかかりますが、システムは常に応答する必要があります。

nice -n 19を使用するとionice -c 3問題は解決しますが、最も多くの利点を得るには、どのコマンドが最初に来るべきかわかりません。

  • オプションA:

    nice -n 19 ionice -c 3 btrfs balance start --full-balance /
    
  • オプションB:

    ionice -c 3 nice -n 19 btrfs balance start --full-balance /
    

オプションAとBの間に微妙な違いはありますか?彼らはおそらく同等ですか?

答え1

niceこれにより、多くのI / Oが発生した場合は、次のことができます。

ionice -c 3 nice ...

I/O 影響を最小限に抑えます。

逆に、ionice多くの計算を行う場合は、次のことをしたいと思います。

nice -n 19 ionice ...

CPUへの影響を最小限に抑えます。

しかし、どちらも真実ではなく、すべて非常に単純なコマンドです(プロセスパラメータを変更するためにシステムコールを実行してからコマンドを実行します)。したがって、その違いは無視できるはずです。

どちらも真であれば完全に勝利することはできません。どちらの影響も軽減できません。

答え2

オプションAとオプションBの間に実質的な違いはありません。

関連情報