特定のブロックデバイスの書き込み帯域幅に対するシステム全体の制限を動的に設定したいと思います。
これらのデバイスは接続可能であり、独自のサービスを通じて管理されます。現在のサービスは、/sys/fs/cgroup/system.slice/io.max
および書き込みを通じて制限を設定/削除します/sys/fs/cgroup/user.slice/io.max
(machines.slice
通常私たちのコンピュータにはありませんが、その内容も含めるとよいでしょう)。しかし、私はこれらのファイルがsystemdによって管理されていることを知っており、私たちのサービスはそのファイルに直接書き込むのではなく、いくつかのAPIを使用してsystemdにそれを行うように指示する必要があります。
しかし、systemdはこれを行う方法を見つけることができず、これは非常にまれなユースケースのようです。
制限設定の背景は、特定のデバイスモデルが適切な熱管理を実装せずに過熱を防ぐために制限を必要とすることです。他のモデルにはこれらの制限は必要なく、その機能を最大限に活用する必要があります。