VMWare for older machines

What do you do with your old laptop and workstations?

Well, if you’re like me and most other geeks out there, you must be planning to transition those machines to some kind of server… you can never have enough of servers!

Let’s say you plan to use one of the older laptops with 8 GB DDR3 RAM, 3rd gen I7 processor and SATA III hard drive as a VPN, File and Web Server with VMWare Workstation 14 (since chances are you’d probably have some Windows host already installed on it). Things may or may not go very smooth. I learned this the hard way.

Soon after I reused one of my older laptops for virtual servers, I started noticing that VMWare was freezing and even killing the virtual machines. This usually occurred after some minutes of inactivity but there was no fixed pattern. I checked the VMWare logs (normally found at the same folder as the VM installed) and found that every time I saw the deadly ‘Something may be hung.. ungrabbing’ message, my machine went into freeze mode. Here’s the entire trace:

2018-03-19T11:36:41.160-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.652 seconds (ok)

2018-03-19T11:36:41.161-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.652 seconds (ok)

2018-03-19T11:36:58.957-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.549 seconds (ok)

2018-03-19T11:37:09.239-04:00| kbh| W115: Poll timeout: Something may be hung… ungrabbing

2018-03-19T11:37:09.239-04:00| kbh| I125: MKS: Release starting (Poll timeout)

2018-03-19T11:37:09.243-04:00| kbh| I125: MKS: Release finished (Poll timeout)

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: caller 0 numvm 1 locked pages: num 1688099 max 2537728

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: locked Page Limit: host 2936582 config 2545920 dynam 3133022

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: minmempct 50  timestamp 31312

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: VM 0 min 1071515 max 2120091 shares 2097152 paged 105176 nonpaged 13560 anonymous 9379 locked 1688099 touchedPct 6 dirtiedPct 1 timestamp 31312 vmResponsive is 1

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: locked 1688099 target 2120091 balloon 0 0 1363148 swapped 183264 0 allocd 0 512 state 0 100

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: states: 0 14401 : 1 0 : 2 0 : 3 0

2018-03-19T11:38:25.726-04:00| vmx| I125: MemSched: Balloon enabled 1 guestType 4 maxSize 0

2018-03-19T11:39:58.965-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.480 seconds (ok)

2018-03-19T11:40:04.247-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.534 seconds (ok)

2018-03-19T11:40:10.887-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.082 seconds (ok)

2018-03-19T11:40:12.439-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.544 seconds (ok)

2018-03-19T11:40:13.981-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.533 seconds (ok)

2018-03-19T11:40:15.724-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.540 seconds (ok)

2018-03-19T11:40:18.325-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.525 seconds (ok)

2018-03-19T11:40:19.857-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.527 seconds (ok)

2018-03-19T11:40:21.404-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.545 seconds (ok)

2018-03-19T11:40:23.436-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.313 seconds (ok)

2018-03-19T11:40:26.046-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.536 seconds (ok)

2018-03-19T11:40:27.780-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.525 seconds (ok)

2018-03-19T11:40:29.077-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.304 seconds (ok)

2018-03-19T11:40:31.249-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.525 seconds (ok)

2018-03-19T11:40:33.187-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.511 seconds (ok)

2018-03-19T11:40:35.500-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.530 seconds (ok)

2018-03-19T11:40:37.439-04:00| vmx| I125: scsi0:0: Command READ(10) took 1.470 seconds (ok)

2018-03-19T11:41:03.081-04:00| vmx| I125: GuestRpcSendTimedOut: message to toolbox-dnd timed out.

2018-03-19T11:41:05.472-04:00| vmx| I125: Msg_Post: Warning

2018-03-19T11:41:05.472-04:00| vmx| I125: [msg.keyboardHook.cad.hotkey] To send “Ctrl+Alt+Delete” only to the virtual machine, type “Ctrl+Alt+Insert” instead.

2018-03-19T11:41:05.472-04:00| vmx| I125: —————————————-

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: caller 0 numvm 1 locked pages: num 1625126 max 2537728

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: locked Page Limit: host 2934379 config 2545920 dynam 3133022

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: minmempct 50  timestamp 34923

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: VM 0 min 1071515 max 2120091 shares 2097152 paged 105176 nonpaged 13560 anonymous 9379 locked 1625126 touchedPct 13 dirtiedPct 8 timestamp 34923 vmResponsive is 1

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: locked 1625126 target 2120091 balloon 0 0 1363148 swapped 247356 0 allocd 1 512 state 0 100

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: states: 0 18001 : 1 0 : 2 0 : 3 0

2018-03-19T12:38:36.700-04:00| vmx| I125: MemSched: Balloon enabled 1 guestType 4 maxSize 0

2018-03-19T12:39:15.870-04:00| vmx| I125: GuestRpc: Got RPCI vsocket connection 14, assigned to channel 3.

2018-03-19T12:39:15.870-04:00| vmx| I125: GuestRpc: Got error for channel 3 connection 14: Remote disconnected

2018-03-19T12:39:15.870-04:00| vmx| I125: GuestRpc: Closing channel 3 connection 14

2018-03-19T12:48:30.917-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.548 seconds (ok)

2018-03-19T12:49:30.157-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.547 seconds (ok)

2018-03-19T12:49:50.921-04:00| vmx| I125: GuestRpcSendTimedOut: message to toolbox-dnd timed out.

2018-03-19T12:50:10.927-04:00| vmx| I125: GuestRpcSendTimedOut: message to toolbox-dnd timed out.

2018-03-19T12:50:10.927-04:00| vmx| I125: GuestRpc: app toolbox-dnd’s second ping timeout; assuming app is down

2018-03-19T12:50:10.928-04:00| vmx| I125: GuestRpc: Reinitializing Channel 1(toolbox-dnd)

2018-03-19T12:50:10.928-04:00| vmx| I125: GuestMsg: Channel 1, Cannot unpost because the previous post is already completed

2018-03-19T12:51:04.766-04:00| vmx| I125: scsi0:0: Command WRITE(10) took 1.550 seconds (ok)

2018-03-19T12:53:11.390-04:00| vcpu-1| I125: GuestMsg: Channel 1, Protocol error, state: 0

2018-03-19T12:53:11.390-04:00| vcpu-1| I125: GuestMsg: Cannot close channel 1: it is not opened

2018-03-19T12:53:12.372-04:00| vmx| I125: GuestRpc: Got error for channel 1 connection 8: Remote disconnected

2018-03-19T12:53:12.372-04:00| vmx| I125: GuestRpc: Closing channel 1 connection 8

2018-03-19T12:53:12.387-04:00| vmx| I125: GuestRpc: Got RPCI vsocket connection 15, assigned to channel 1.

2018-03-19T12:53:12.387-04:00| vcpu-0| W115: GuestRpc: application toolbox-dnd, changing channel 65535 -> 1

2018-03-19T12:53:12.387-04:00| vcpu-0| I125: GuestRpc: Channel 1, guest application toolbox-dnd.

2018-03-19T12:53:12.403-04:00| vmx| I125: DnDCP: set guest controllers to version 4

2018-03-19T12:53:12.403-04:00| vmx| I125: DnDCP: set guest controllers to version 4

2018-03-19T12:53:12.700-04:00| vmx| I125: DnDCP: set guest controllers to version 4

It was pretty frustrating at once. Searching on the internet for similar results convinced me to change my hard drive since it was an issue with READ/WRITE. In my case, as it turned out, was something different. My hard drive test seemed to go fine suggesting it could be something with the VMWare settings to change. Then I hit upon the following article and tried a bunch of different combinations: https://kb.vmware.com/s/article/1008885

  1. Reduced snapshots: No effect
  2. Removed VM encryption: No effect
  3. Moved VM to a new drive (different from OS Drive): No effect
  4. Tried to switch to a different hard drive on the same machine: No effect
  5. Perform disk optimization of VMs by fragmentation: No effect
  6. Partition the single chunk of VM hard drive into different drives: No effect
  7. Performed steps to reduce the I/O usage by the Virtual machine in lieu of more RAM: I once thought it fixed it but my joy didn’t stick for too long!

My memory usage never suggested that my host was getting starved of RAM but I added more RAM anyways since they’re so darn cheap these days! And then I stumbled upon a very straightforward radio box settings for memory usage by VMWare:

Bingo! That was it! I just had to tell VMWare to basically stop swapping memory on drive.  I wish I’d a more dramatic solution but this is all I needed to fix my issue.

Of course, this setting would also allow VMWare to use all the RAM it could and thus it’s important to ensure that the host has enough RAM available to not starve and freeze. RAM is the way to go!

Oh while you’re at it, you may want to stop Windows services which basically hog up the I/O and CPU at times:

SuperFetch: Although superfetch service is designed to prefetch the applications for faster processing by the machine, I’ve seen it cause issues for older machines which use SATA II or III with limited bandwidth BUS cable.

Windows Search: Again this service should normally be harmless but for machines with older configuration, I’ve seen it cause too much of I/O processing at times.

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *