vmsyslogd プロセスで Admission failure のエラーが頻発する
search cancel

vmsyslogd プロセスで Admission failure のエラーが頻発する

book

Article ID: 434712

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

vmkernel.log で、次のような vmsyslogd プロセスに関連する admission failure のメッセージが頻発する

YYYY-MM-DDThh:mm:ss.394Z In(###) vmkernel: cpu##:#######)Admission failure in path: host/vim/vmvisor/logging:python.<PID>:uw.<PID>
YYYY-MM-DDThh:mm:ss.394Z In(###) vmkernel: cpu##:#######)UserWorld 'vmsyslogd' <PID> with cmdline '/bin/python /usr/lib/vmware/vmsyslog/bin/vmsyslogd.pyc', parent #######

 

 

Cause

"admission failure" のメッセージは、リソースグループの上限に達したことで特定のプロセスに対して要求された量のメモリを割り当てることができなかったことを示しており、vmsyslogd プロセスへのメモリ割り当てが実施できなかったことが原因でメッセージが発生します。

よくある原因としては、プロセスのメモリリークやタスクを無期限に実行し続けたままといった不具合によるメモリの枯渇が挙げられますが、稀にプログラムの実装上避けられないメモリフラグメンテーションが発生するとプロセスのメモリを枯渇させることがあります。

vmsyslogd プロセスでは、他のサービスのログ出力の影響や syslog転送でメモリを利用するため、他のサービスのログ出力が短期間で膨大になりメモリを大きく消費した場合などにはメモリフラグメンテーションによるメモリ枯渇が発生する可能性がありますが、メモリフラグメンテーションの発生自体は不具合ではありません。

Resolution

以下の手順で vmsyslogd プロセスの再起動を実施してください。

  1. SSH 経由で ESXi ホストに接続
  2. 次のコマンドを実行して vmsyslogd プロセスの PID を確認
    ps -Cc|grep vmsyslogd
  3. 次のコマンドを実行して vmsyslogd を停止
    pkill vmsyslogd
  4. watchdog サービスが自動で vmsyslogd を起動させるため再度 PID を確認
    ps -Cc|grep vmsyslogd

Additional Information