Hey so I figured it out. For some reason the memory was the bottleneck. I stopped the vm and upped the mem to 30 from 4 (GBs) and restarted and now its running like a champ. Wanted you to know so you let others know. Thanks so much for your help.
30 GB seems overkill, unless you configure
dbcache to use most of your RAM. If you're not sure how to do it, you could either :
1. Add
-dbcache=N (N is total of RAM used in MB) if you run Bitcoin Core from Terminal.
./bitcoin-qt -dbcache=20000
2. Open
bitcoin.conf (located on folder where you store blockchain) and add
dbcache=N on new line. If
bitcoin.conf isn't exist, all you need to do is create new .txt file and rename it as
bitcoin.conf.