[GIS] Using ArcGIS 10 on a virtual machine with OSX

arcgis-10.0arcgis-desktoposxwindows 7

I'm currently using ArcGIS 10 on a Windows 7 64 bit Macbook Pro (2.53 Ghz and 8GB of RAM) using VMWare. However, when I am using ArcGIS I find it quite slow even with Windows 7 (64-bit) optimized for performance (no shiny graphics). My work involves making some python scripts and testing them, and whenever I run them, that is also slow, but even opening ArcMap and adding a small shapefile takes a long time (30s to 1 minute).

Is it possible to make my python program in OSX, import the ArcPy module and somehow run them from the Mac side? I realize that ArcGIS runs on Windows, but I was not sure whether any of the ArcPy part can be run separately. Or, could it be quicker to use the 'Unity' feature on Vmware to run these scripts?

I would also appreciate any tips on how much memory/processors to allocate for the virtual machine. At the moment it is 1 processor, and ~4gb of RAM and I would expect it to be quite a bit quicker.

Best Answer

I run ArcGIS on OSX pretty much every day using VMWare. The only difference is that I do not have it installed in a Virtual Machine - it is a bootcamp partition - and let me explain to you why, IMHO, this has more advantages over a standard VM installation for ArcGIS.

First let's take VMWare out of the equation and talk about pure Bootcamp.

When you use Bootcamp, you are actually creating a separate partition for Windows on your disk. They are completely separate installations of Operating Systems. At boot time you can hold the option key and choose whether you boot to Windows or boot to OSX. As long as you have the proper bootcamp Windows drivers installed, this guarantees that it is the fastest way you can run Windows on that hardware since it is only running on Windows at that point. The disadvantage is clear - you need to pick what OS you are going to run at startup time and if you need to switch OS, well you have to reboot.

Yeah that sucks.

Welcome to VMWare Fusion. VMWare allows you to do two things with Bootcamp. One of them is import your bootcamp partition into a new virtual machine effectively creating a full clone of that bootcamp partition and dumping it in a VM inside OSX - do NOT do this.

The other thing that it allows you to do is to boot your Bootcamp partition from inside OSX by accessing that portion of the disk. This is cool and is what I use. Make sure that you do have the VMWare tools installed in your bootcamp partition when you run it from within OSX - otherwise things are slow.

What this configuration allows you to do is to choose how fast you want ArcGIS to run.

When you want the advantage of running both OSX and Windows, you can use VMWare Fusion and run your Bootcamp partition virtualized.

When you want maximum ArcGIS speed, reboot the machine and use it natively.

As far as how many resources to give Windows when running in inside OSX, I usually give it half of whatever I have (half memory, half CPUs) and this seems to work optimally. Since I have all the drivers installed for whatever mode I am running (bootcamp drivers and vmware fusion tools), it runs fine in either mode.

In regards to your question of ArcPy - don't get fooled by what Unity Mode in VMWare Fusion is doing. It is allowing you to make it seem like Windows and OSX are running as one because the individual windows looks the same - but they are still, mostly, isolated. Yes you have access to both file systems and network resources, but that's pretty much it. So you can your ArcPy from the windows environment just fine... but don't expect to be able to "import" any libraries that you have installed only on the OSX side and everything will work fine - those are two isolated python environments and if you wanted to have this work you are getting too greedy :)