問題タブ [cgroups]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - マウントせずに cgroups データを読み取る
cgroups で管理されたサービスがいくつかあります (実際には docker で実行されています)。リソースを必要とするいくつかのタスクを公平にスケジュールするために、コンテナー化されたサービスは、(可能な限り) 正確なリソース使用量を知る必要があります。このメトリクスを cgroups から読み取ることにしました。
しかし問題がある。docker コンテナーから cgroup データにアクセスする方法は 2 つあります。
コンテナーの内部から cgroup を直接マウントします。これを実現するには、コンテナーに CAP_SYS_ADMIN 機能を付与する必要があります。これは、リソースの使用状況の指標のみを読み取るにはハードボイルドすぎる方法だと思います。
ホスト cgroups マウントポイントを指す docker volume を使用します。このソリューションは多かれ少なかれ適切ですが、私はよりエレガントな方法を探しています。
私は「カーネルの人」ではなく、カーネルのソースとドキュメントに精通していないので、noob の質問をすることができます。
cgroups ファイルシステムをマウントせずに cgroups メトリックを読み取ることができるカーネル インターフェイスはありますか?
c - libcgroups コンパイル エラー
小さな c グループ内で cgroup を開始しようとすると、次のエラーが発生します。
これらのヘッダーを使用するコードは次のとおりです。
-lcgroup フラグを指定して g++ を使用してコンパイルします。
なぜこれが起こっているのかについての助けは大歓迎です
docker - Docker コンテナの CPU に絶対制限を設定する
Docker コンテナーの CPU 使用率に絶対制限を設定しようとしています。CPU シェアの概念 ( docker run -c <shares>
) は相対的ですが、「このコンテナーが 100 ミリ秒ごとに最大 20 ミリ秒の CPU 時間を使用できるようにします。私が見つけることができる最も近い答えは、andの使用に関するメーリング リストからのヒントです。?を使用するときにこれらの設定を使用します。cpu.cfs_quota_us
cpu.cfs_period_us
docker run
LXC でサポートされた Docker (たとえば、pre0.9) またはそれ以降のバージョンのいずれかについて厳密な要件はありません。使用されているこれらの設定の例を確認する必要があるだけです。関連するドキュメントや役立つブログへのリンクも大歓迎です。現在、Ubuntu 12.04 を使用しており、以下/sys/fs/cgroup/cpu/docker
のオプションが表示されます。
google-cloud-platform - Cgroup スワップ会計
ubuntu-1204-precise-v20141028 がデプロイされた Google インスタンスで cgroup スワップ アカウンティングを有効にしようとしています。通常どおり cgroup_enable=memory swapaccount=1 を「/etc/default/grub」に追加しようとしましたが、スワップではなくメモリ コントローラのみが有効になっているようです (使用可能なメトリックが疑似ファイル メモリにあることを確認しました)。 .stat)。何か案は?
cpu - cpuset を使用しようとすると、echo $$ > tasks で「デバイスに空き領域がありません」と表示される
cpuset(7) マニュアルの例を試して、cpuset Charlie を作成しました。Ubuntu 14.4 LTS と SLES 12 の両方で、現在のプロセスを cpuset に入れようとすると、次のエラーが発生します。
/dev/cpuset/Charlie# echo $$ > tasks
bash: echo: write error: No space left on device
何か助けはありますか?
docker - cgroup パラメーター cpu.rt_runtime_us への書き込みエラー
cgroup 内の Docker コンテナ プロセスのリアルタイム ランタイム パラメータを変更しようとしています。私はこのチュートリアルに従っています: http://www.breakage.org/2014/08/22/using-sched_fifo-in-docker-containers-on-rhel/
docker-[ID].scope ファイルへの書き込みが機能する場合があります。次のエラーが返されることがあります: echo: write error: Invalid argument
なぜこれが起こるのかを理解しようとしています。機能する最大の種類はありますか?より一般的には、プロセスがルート cgroup または別の cgroup にあるように構成して、この操作が成功することが保証されているか、または少なくとも成功または失敗の理由が理解できるようにする方法はありますか?
編集: Centos 7.0.1406 Linux カーネル 3.10.0-123.el7.x86_64
編集:複数のコンテナを実行しており、そのうちのいくつかで同じ目標を達成しようとしています(4-5)
linux-kernel - cgroup の分離されたリソースは、cgroup の外部のプロセスからアクセスできますか
cgroup を介していくつかのプロセスに割り当てられた一連の CPU があります。これらの CPU は、どの cgroup にも属していないプロセスからアクセスできますか? ばかげた質問かもしれませんが、答えをググることができませんでした。