4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

vSphere Client を快適にするならヒープは今でも増やしたほうがいい話

Last updated at Posted at 2023-01-12

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

出典: https://blog.kstyle.net/2023/01/14/vsphere-ui-heap/

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 : 今までで最も消費された RSS+Cache
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

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?