isolcpusがアクティブで、どのcpusであるかを検出する方法。たとえば、サーバーに初めて接続したとき。条件:
移行先を確認するプロセスを生成しません。
ユースケースはisolcpus=1-7
、6コアi7で、ブート時にisolcpusをアクティブ化しないようです。isolcpusのアクティブ化の明確なステータスを提供するために、から/proc/
、/sys
またはユーザー空間で読み取ることができるカーネル内部が可能かどうかを知りたいです。どのCPUが関係しているか。または、isolcpusが最初に懸念するスケジューラのアクティブ設定を読み取ることもできます。
稼働時間は非常に大きいためdmesg
、起動時にエラーを検出するための起動ログを表示しないことを考慮してください。「カーネルコマンドラインを見てください」のような基本的な答えは受け入れられません:)
pidstat
との間にリンクはありませんisolcpus
。もう少し詳しく説明してもらえますか?
isolcpus
はわかりませんpidstat
が、-C process_name
フラグを渡すと、プロセスが実行されているCPUを確認できます。たとえばpidstat -C top
、以下を生成します。 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
カーネル・パラメーターであり、分離されている場合、スケジューラーがプロセス自体をマイグレーションしないように強制します。たとえば、8つのCPUサーバーisolcpus=1-7
でのカーネルコマンドラインでは、initによって生成されたすべてのプロセスと、シェル内の任意の種類のコマンドがCPU0でのみ実行されます。分離されたCPUでタスクを実行するには、例を使用してタスクを起動する必要がありますtaskset
。だから私が求めていることに関して、あなたの答えはトピックから外れているようです。とにかく私に答えてくれてありがとう
pidstat -C isolcpus
。pidstatはsysstat
パッケージからのものです。