vCenter のメモリ設定をカスタマイズして、vSphere Client を快適に使おう

vCenter Server 6.0 の頃から使われている方は、以下の KB によく参照したのではないでしょうか。

vmware-dataservice-sca and vsphere-client status change from green to yellow (2144950)
https://kb.vmware.com/s/article/2144950

これは、flash 版の vsphere web client (vsphere-client) に割り当てているヒープメモリが足りず
健全性のエラーを繰り返してしまうからヒープメモリを増やして不要なアラームを抑制しようとするものです。
実は、vCenter 8.0 でもデフォルトのままだとヒープメモリがやや少ないので、アラームは出ないにしても拡張しておいたほうがいいというお話です。

初期状態の vCenter のヒープメモリサイズ

root@vcsa801 [ ~ ]# cloudvm-ram-size -S | egrep "applmgmt|vsphere-ui|AllocatedMB|TOTAL"
Service-Name            AllocatedMB     MaxMB CurrentMB  Curr-RSS    Cache  MapFiles   MemoryLimit
applmgmt                        236     14067      2133       171     1961       230 8796093022207
vsphere-ui                     1193      2006      1254       950      304         1 8796093022207
TOTAL(RAM=21054.328125MB)      4972     38835     37181     12215     6996       743 8796093022207
  • AllocatedMB : 許可されたヒープメモリサイズ。AllocatedMB >= Curr-RSS
  • MaxMB : CurrentMB の過去最大値
  • CurrentMB : Curr-RSS + Cache
  • Curr-RSS : 現在の RSS(物理メモリ消費)
  • Cache : 現在の File Cache。 OS管理

こんな感じです。
applmgmt の MaxMB がすごいことになってますが、これは一度 vami から upgrade をかけたからですね。
で、vSphere Client(vsphere-ui) ですが、RSS が AllocatedMB の 80% まできていて窮屈そうです。
コマンドでみてみると、-Xmx 937m となっていることもわかります。

root@vcsa801 [ ~ ]# ps -eo user,pid,ppid,%cpu,%mem,vsz:8,rss:8,lstart,cputime,cmd | egrep "RSS|vsphere-ui" | cut -b-200
USER        PID   PPID %CPU %MEM      VSZ      RSS                  STARTED     TIME CMD
vsphere+  48939  24067  0.1  4.1  4171232   895580 Thu Jan  5 08:19:22 2023 00:11:42 /usr/java/jre-vmware/bin/vsphere-ui.launcher -Xmx937m -XX:CompressedClassSpaceSize=256m -Xss320k -XX:ParallelGCThre

ヒープメモリサイズを増やしてみる

KB にならって vsphere-ui のヒープメモリサイズを拡張してみます。どれぐらいが妥当か?という議論はありますが、自分の環境にもよるのでこれは運用してみないとわかりません。とりあえず4GBにして様子を見てみましょう。

cloudvm-ram-size -C xxx でサイズを指定します

root@vcsa801 [ ~ ]# cloudvm-ram-size -C 4096 vsphere-ui

コマンド実行後、vsphere-ui の AllocatedMB が増えたことがわかります。
でも、Curr-RSS は増えていません。プロセスを再起動するまで -Xmx937m が変わらないからです。

root@vcsa801 [ ~ ]# cloudvm-ram-size -S | egrep "applmgmt|vsphere-ui|AllocatedMB|TOTAL"
Service-Name            AllocatedMB     MaxMB CurrentMB  Curr-RSS    Cache  MapFiles   MemoryLimit
applmgmt                        223     14067      2133       171     1961       230 8796093022207
vsphere-ui                     4352      2006      1254       950      304         1 8796093022207
TOTAL(RAM=21054.328125MB)      7541     38835     37201     12220     7001       744 8796093022207

反映させるために、vsphere-ui を再起動します。

root@vcsa801 [ ~ ]# vmon-cli -r vsphere-ui
Completed Restart service request.

再起動後、-Xmx4096m にしっかり増えています。

root@vcsa801 [ ~ ]# ps -eo user,pid,ppid,%cpu,%mem,vsz:8,rss:8,lstart,cputime,cmd | egrep "RSS|vsphere-ui" | cut -b-200
USER        PID   PPID %CPU %MEM      VSZ      RSS                  STARTED     TIME CMD
vsphere+  29661  24067  104  5.6  7248516  1214876 Thu Jan 12 13:25:49 2023 00:01:08 /usr/java/jre-vmware/bin/vsphere-ui.launcher -Xmx4096m -XX:CompressedClassSpaceSize=256m -Xss320k -XX:ParallelGCThr

vSphere Client 起動直後

なんと、起動直後の vsphere-ui ですでに Curr-RSS が前回の制限値 1193 を超えています。

root@vcsa801 [ ~ ]# cloudvm-ram-size -S | egrep "applmgmt|vsphere-ui|AllocatedMB|TOTAL"
Service-Name            AllocatedMB     MaxMB CurrentMB  Curr-RSS    Cache  MapFiles   MemoryLimit
applmgmt                        223     14067      2133       171     1961       230 8796093022207
vsphere-ui                     4352      2006      1729      1197      531         1 8796093022207
TOTAL(RAM=21054.328125MB)      7541     38835     38351     12555     7241       751 8796093022207

1度 vSphere Client からログインしたところ

vsphere-ui の Curr-RSS は更に増えて 1356 に増えています。使用環境(インベントリ数、プラグイン等)によってメモリ要件は変わるので一概には言えませんが、しばらくこれで使ってみて Curr-RSS が増えていかないか見てみるといいでしょう。

root@vcsa801 [ ~ ]# cloudvm-ram-size -S | egrep "applmgmt|vsphere-ui|AllocatedMB|TOTAL"
Service-Name            AllocatedMB     MaxMB CurrentMB  Curr-RSS    Cache  MapFiles   MemoryLimit
applmgmt                        223     14067      2133       171     1961       230 8796093022207
vsphere-ui                     4352      2006      1897      1356      540         1 8796093022207
TOTAL(RAM=21054.328125MB)      7541     38839     38595     12662     7255       758 8796093022207

まとめ

vCenter の vSphere Client サービスのヒープメモリサイズは初期設定のままだとちょっと小さい。
そのままでも使えるけれど、無用なガベージ・コレクションを引き起こしてしまいます。
デフォルト値から増やして、GUIを快適に利用しましょう。

参考資料

Manually increasing the heap memory on vCenter Server components in vCenter 6.x / 7.x (2150757)
https://kb.vmware.com/s/article/2150757

コメント

タイトルとURLをコピーしました