私はそれぞれ8つの物理CPUを備えた1対のCentOS 7サーバー(2009年9月7日現在)を持っています。このうちコア4~8(OSでは3~7と思う)を分離しようとしています。
isolcpus=3-7
パラメータ/etc/default/grub
の後にタグを追加してGRUB_CMDLINE_LINUX
実行してgrub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
新しい設定ファイルを作成し、再起動しました。
どちらのサーバーも、次の設定に従います。/sys/devices/system/cpu/isolated
これは私が指定したコア3-7を示しています。
しかし、関連して一つsystemd
サーバーにはシステムプロセス(など)が実行されるいわゆるコアが1つしかありませんがlvmetad
、何度も再起動してもOSは実際にコア分離に準拠していないようです。
このコマンドを使用してどのnumactl
コアも分離されていることを確認しましたが、出力はサーバーによって異なりました(コマンドは次のようになります)numactl -s | grep physcpubind
。
サーバー1(分離に準拠):
physcpubind: 0 1 2 3
サーバー2(分離を考慮しない):
physcpubind: 4 5 6 7
この問題の原因と解決策が何であるかは非常に混乱しています。どんなアドバイスでもいただきありがとうございます。
ありがとうございます!
答え1
2番目のサーバーのCPU 0-3はどこにありますか?
numactlの出力によると、4〜7個の理由が原因でオンラインであるように見えます。これを隔離すると起動CPUを分離できないため、カーネルはisolcpusパラメータを無視します。試してみるかisolcpus=0-3,5-7
確認してくださいisolcpus=5-7
。最後のオンラインCPUの後にCPUを切り離すことも同じ効果を持つかもしれませんが、カーネルに提供されているハードウェア情報によって異なります。
lscpu -p
両方のサーバーからの出力は、さらなるトラブルシューティングに役立ちます。また、起動後にdmesgでcpusまたはisolcpusコマンドラインオプションに関する例外メッセージを確認してください。