I was looking into the new metrics in esxtop and was wondering if I could plot them easily on my Mac. Unfortunately (or fortunately) there is no MS PerfMon available native to do this. But VMware released a cool tool called esxplot which more or less does the same thing. I downloaded it and tried to run it. After running the python script (esxplot.py) I received the following error:
MBP:src user$ ./esxplot.py
Traceback (most recent call last):
File “./esxplot.py”, line 56, in <module>
import wx.html
File “/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/__init__.py”, line 45, in <module>
File “/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core.py”, line 4, in <module>
ImportError: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture (see “man python” for running in 32-bit mode)
However esxplot uses specific libraries which are only available on the 32Bit version of Python. So I needed to set the following environment variable in order for esxplot to work correctly:
export VERSIONER_PYTHON_PREFER_32_BIT=yes
Now you can use esxplot on your Mac natively to investigate those performance issues. By the way, in this the performance issue was due to poor NUMA locality as 24% was fetched remote as shown in the graph:
Related
Doug says
THANK YOU! Saves me time figuring this one out on my own!
Geoff White says
Thanks for this, I will try to make sure that the upcoming version of esxplot works well on the latest OSX release. Would you be interested in being an alpha/beta tester?
Geoff
Manny Vee says
I would be really interested in being a beta tester for macosx.
I am in the process of running this in a Virtual machine (windows) thank you
Manny
Ben Thomas says
You can also create a shell script like this:
#!/bin/bash
export set VERSIONER_PYTHON_PREFER_32_BIT=yes
python esxplot.py
and place it in the src directory and chmod +x it and run it ./esxplot.sh for example.