Elastic Compute Service (ECS) インスタンスのcgroupsを削除するときにハングエラーが発生した場合、このトピックで説明されているソリューションを使用して問題を修正できます。
問題の説明
インスタンス内のコンテナを削除するとハングエラーが発生し、次のようなコールスタックが表示されます。
[3302742.447940] カーネルパニック-同期しない: softlockup: hung tasks
[3302742.448677] CPU: 18 PID: 1 Comm: systemd Kdump: loaded Tainted: G OEL ---------- T 3.10.0-862.14.4.el7.x86_64 #1
[3302742.450167] ハードウェア名: Alibaba Cloud ECS、BIOS 8a46cfe 2014年4月1日
[3302742.462123] [] mem_cgroup_reparent_charges + 0x1 6d/0x3c0
[3302742.463243] [] mem_cgroup_css_offline + 0x8 4/0x140
[3302742.464327] [] cgroup_destroy_locked + 0xea/0x370
[3302742.465414] [] cgroup_rmdir + 0x2 2/0x40
[3302742.466434] [] vfs_rmdir + 0xdc/0x150
[3302742.467449] [] do_rmdir + 0x1f 1/0x220
[3302742.468470] [] ? ____ fput + 0xe/0x10
[3302742.469495] [] ? task_work_run + 0xc 0/0xe0
[3302742.470578] [] SyS_rmdir + 0x1 6/0x20
[3302742.471628] [] system_call_fastpath + 0x2 2/0x27
発生源
インスタンス内のcgroupsを削除すると、システムは、cgroupsの上位階層に使用されているメモリページのサイズを繰り返し計算します。 cgroupが大量のメモリを消費する場合、システムは計算に長時間を費やす。 計算プロセス中、システムにはスケジューリングテストポイントがないため、ソフトロックアップエラーが発生します。
対応策
重要 操作を実行する前に、偶発的な操作によるデータ損失を防ぐために、ECSインスタンスのスナップショットを作成してデータをバックアップすることを推奨します。 スナップショットの詳細については、「スナップショットの概要」をご参照ください。
操作は、インスタンスオペレーティングシステムの種類によって異なります。
- インスタンスがCentOSオペレーティングシステムを実行している場合は、カーネルバージョンをアップグレードすることを推奨します。
- 次のコマンドを実行して、カーネルバージョンをアップグレードします。
yum更新カーネル
- 次のコマンドを実行して、インスタンスを再起動します。
reboot
- 次のコマンドを実行して、カーネルのバージョンが3.10.0 1160以降かどうかを確認します。
uname -r
- 次のコマンドを実行して、カーネルバージョンをアップグレードします。
- インスタンスがAlibaba Cloud Linuxオペレーティングシステムを実行している場合、ソフトロックアップエラーは発生しません。
- インスタンスが上記以外のオペレーティングシステムを実行している場合は、カーネルバージョンを4.17以降に手動でアップグレードすることを推奨します。