免責事項: これは英文の記事 「High CPU utilization on vCenter Server 8.0 (367603)」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
CPU 使用率が高く、top コマンドからは idmserv+ が CPU を大量に消費していることが確認できます。
top - HH:MM:SS up DDD days, HH:MM, 1 user, load average: 9.35, 5.38, 3.52
Threads: 4974 total, 7 running, 4964 sleeping, 0 stopped, 3 zombie
%Cpu0 : 89.6/10.4 100[|||||||||||||||||||||||||||||||||||||||||||||||||||||]
%Cpu1 : 79.0/21.0 100[|||||||||||||||||||||||||||||||||||||||||||||||||||||]
GiB Mem : 81.5/13.7 [ ]
GiB Swap: 66.8/25.0 [ ]
PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
3237 idmserv+ 20 0 13.5g 603.5m 0.0 4.3 0:00.01 S +
3318 idmserv+ 20 0 13.5g 603.5m 49.9 4.3 110994:57 R +
3236 idmserv+ 20 0 3666.6m 712.9m 0.0 5.1 0:00.01 S +
3307 idmserv+ 20 0 3666.6m 712.9m 49.5 5.1 9969:05 R +
/var/log/vmware/vc-ws1a-broker/token-service.log に次のようなメモリ不足エラーが表示されます。
YYYY-MM-DDTHH:MM:SS ERROR XXXXX.XXXXX.XXXXX:token (vert.x-eventloop-thread-1) [-;-;127.0.0.1;d6ef8ccf-c7cd-4798-83b5-8dbfc492b7e8;-] io.vertx.ext.web.RoutingContext - Unhandled exception in router java.lang.OutOfMemoryError: Java heap space
/var/log/vmware/vc-ws1a-broker/accesscontrol-service.log にもメモリ不足エラーが表示される場合があります。:
YYYY-MM-DDTHH:MM:SS ERROR YYYYY.YYYYY.YYYYY:accesscontrol (ForkJoinPool-10-worker-7) [HWS;-;127.0.0.1;cda649a0-1002-4816-a3ee-ecc08f5b84b8;-;-;-] io.vertx.ext.web.RoutingContext - Unhandled exception in router java.lang.ClassCastException: class java.lang.OutOfMemoryError cannot be cast to class com.vmware.vidm.common.exception.MultiFormattableRuntimeException (java.lang.OutOfMemoryError is in module java.base of loader 'bootstrap'; com.vmware.vidm.common.exception.MultiFormattableRuntimeException is in unnamed module of loader 'app')
VMware vCenter Server 8.0
スケジュールされたトークン失効プロセスにより、OOM / 高 CPU 使用率が発生します。
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/XX/fs/opt/vmware/idm/initc/services/token/config/application.properties に以下の行を追加してください。
注: XX は最大の数字にする必要があります。
詳細手順については「Login to vCenter Server with External Identity Providers for SSO account stops working」の解決策を参照してください。
token.delete.expired.tokens.limit=100
revocation.delete.old.tombstones.limit=100
revoke.by.oauthclientid.batch.size=500
次に、次のコマンドを使用して ID サービスを再起動します。
vmon-cli -r vc-ws1a-broker
この設定により、トークン削除時のメモリ使用量が削減されます。