cgroupを管理するにはrootアクセス権が必要ですか?

cgroupを管理するにはrootアクセス権が必要ですか?

私は2つの異なるオペレーティングシステム(UbuntuとCentOS)で制御グループを使って作業しようとしています。聞きたい質問はほとんどありません。

このコマンドを使用して制御グループを作成しようとしていますが、cgcreateマシンへのルートアクセスが必要なようです。これまで、この例のうち、制御グループを作成または変更するには、root権限が必要であることはありません。

本当にルートになるべきですか?究極の目標は、libcgroup APIを使用してリソースを制御するための制御グループを作成および管理するC ++アプリケーションを作成することです。ただし、C ++アプリケーションはrootユーザーによって実行されません。一般ユーザーなら誰でも可能です。

ベストアンサー1

通常cgcreate、、、cgsetなどを次のように設定しますcgdeletecgget。結局、多くのリソースの使用を制限するように設計されたプログラム/スクリプトは、一般ユーザーとして実行されます。したがって、rootに設定してユーザーとして使用して実行します。

これは-aコマンドとパラメータを介して行われます(rootとして実行されます)。グループの起動時に既にこのような場合があります。私:-tcgcreate

cgcreate -t​​ モネロ:モネロ-a モネロ:モネロ-g メモリ,cpu:モネログループ

ここで monero は、cgroup の制限に従ってプログラムを実行して実行する将来のユーザーのユーザー名です。-aサブパラメータとサブパラメータの微妙な違いについては、マニュアル-tページを参照してくださいcgcreate

peoplecgcreate

ほとんどの場合、これは同じユーザーです。

次に制限を設定します(続行ルートとして)。

cgset -r memory.limit_in_bytes=$((4*1024*1024*1024)) モネログループ

cgset -r cpu.shares=128 モネログループ

以下を行うには、項目を確認してください。

cgget -g メモリ:/monerogroup | grepバイト

次に、最後にユーザー(私の場合はmoneroユーザー)を切り替え、正しいフォルダから切り替えます。

cgexec -g メモリ、CPU: monerogroup ./monerod

ユーザーに対して特別な権限を設定すると、ユーザーに権限の問題は発生しません。

おすすめ記事