問題タブ [cpuset]

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.

0 投票する
1 に答える
5438 参照

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

何か助けはありますか?

0 投票する
1 に答える
363 参照

linux - 組み込み Linux を使用したシングル コアでの低レイテンシ プロセス

ALSA/JACKLinux システムが組み込まれた別のコアで、単一の低レイテンシ タスク (オーディオ用) を実行したいと考えています。ここでは、スケジューラやその他の割り込みを削除することが重要になる場合があります。

これまでに見つけたいくつかのアプローチがありました。たとえばcpusets、2009 年のオフライン スケジューラ (残念ながらユーザー空間タスクをサポートしていません) などです。

これを達成するためのより新しい/より便利な方法はありますか?

オフライン スケジューラ

0 投票する
1 に答える
5775 参照

docker - docker run --cpuset は効果がありません

cpuset を 1 コアに指定して、1 つの Docker コンテナーを開始しました。

cpuset を 4 コアに指定して 2 つ目:

各コンテナー内でロード プロセスを開始し、両方のコンテナーの CPU 消費量を監視しました。

ロード プロセスは次のようになります。

私は、両方のコンテナ間の実行時間に関して改善がないことを観察しました (スピードアップなし)。

改善されない理由がわかりませんか?4 コアのコンテナーは、1 コア コンテナーよりも高速に実行する必要があります。

注意: 1core コンテナーに top を使用する

4core コンテナーに top を使用すると、docker は 4 つのコアのいずれかをランダムに選択してプロセスを起動します。場合によってはコアごとに 30% 影響します

0 投票する
1 に答える
374 参照

cpu - cgroups の 1 つのディレクトリにさらに 2 つのサブシステムをマウントするにはどうすればよいですか?

私は大学でコンピューター工学を学んでいます。勉強中、私はいくつかの問題を抱えています。

1 つのディレクトリに 2 つのサブシステムをマウントしたいと考えています。

私は次のように試しました

mount -t cgroup -o cpu,cpuset cpu_and_cpuset /cgroup/cpu_and_cpuset

このコマンドは、redhat のマニュアル ページで説明されています。

Red Hat マニュアルページのリンク

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-Creating_a_Hierarchy_and_Attaching_Subsystems.html

私のLinuxでエラーが発生しました。

エラーメッセージは

マウント: cpu_and_cpuset が既にマウントされているか、/cgroup/cpu_and_cpuset がビジーです

しかし、サブシステムをマウントしませんでした。
/cgroup/cpu_and_cpuset は直前に作成されます。
トラブルシューティングのために、すべての cgroup サブシステムをアンマウントしてみました。
このコマンドを再試行しました。しかし、結果は同じでした。

単一のサブシステムをマウントする場合、問題はありません。
これらのサブシステムが各ディレクトリにマウントされ、適切な属性が設定されていれば、1 つのディレクトリに 2 つのサブシステムがマウントされているような環境を構成できます。
しかし、それは私にとって正しい答えではありません。

私のコマンドの問題は何ですか?
このエラーの解決策はありますか?

0 投票する
3 に答える
858 参照

linux-kernel - タスクの実行が許可されているCPUを印刷しますか?

特定のタスクの実行が許可されているCPUを印刷しようとしています。

struct task_struct (ここで見つけることができます) の中にcpumask_t cpus_allowedがあり、私が理解していることから、私が探しているものが正確に含まれています。そうですか?

もしそうなら、許可されているCPUの番号を抽出するにはどうすればよいですか?

たとえば、私のコンプには8つの論理コアがあります-したがって、cpus_allowed内のどこかでそれらの数値を見つけることができると期待しています(たとえば、0,2,5)

0 投票する
4 に答える
6210 参照

linux - Cpuset を使用してカーネル モジュールを特定のコアに分離する

ユーザー空間からcpusetを使用して、システム内の特定のコアを実際に分離し、そのコアに対して特定のプロセスを 1 つだけ実行できます。

カーネルモジュールで同じことをしようとしています。したがって、モジュールを分離されたコアで実行する必要があります。言い換えれば、カーネルモジュール内から 'sを使用するにはどうすればよいですか? cpuset*

カーネル モジュールでlinux/cpuset.hを使用しても機能しません。したがって、次のようなモジュールがあります。

このモジュールをロードしようとするとdmesg、次のメッセージが表示されますcpusets is enabled!。しかし、メッセージも受け取りますUnknown symbol cpu_init (err 0)

同様に、実行中のすべてのプロセスを特定のコアに移動し、モジュールを分離されたコアに実行するためにsched_setaffinityfromを使用してみました。linux/sched.h同じエラー メッセージが表示されました: Unknown symbol sched_setaffinity (err 0)EXPORT_SYMBOLこれらの関数にはカーネルがないため、「不明なシンボル」を取得したと思います。sys_sched_setaffinity だから私は行ってシステムコールを呼び出そうとしました(この質問に基づいて)が、再びこのメッセージが表示されました:Unknown symbol sys_sched_setaffinity (err 0)

isolcpusさらに、起動中に設定される を使用するソリューションを探していません。モジュールをロードした後、分離を実行したいと思います。

  • (より正確には、カーネル スレッドを分離されたコアで実行する必要があります。アフィニティを使用してスレッドを特定のコアにバインドできることはわかっていますが、これはコアが実行中の他のプロセスによって分離されることを保証するものではありません。 )