• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Hyper V Issues

c0rpt3ch

Weaksauce
Joined
Jun 28, 2010
Messages
91
My journey into the world of virtual machines continues to throw me curve balls. Currently working with some virtual machines that have been up and running for months with no issues. They're equalling split between two physical servers.

The virtualized machines on 'Server 1' continue to run without issue like they should. The virtualized machines on 'Server 2' have become a problem child. I have 32GB of physical memory in the server hosting the Server 2 machines. On this server there are 4 virtualized machines, 3 of which hardly ever run unless we're testing something, the fourth runs 100% of the time. The fourth machine now randomly restarts itself, pauses itself and occasionally just won't run. I've tried allocating more memory to this to try and alleviate the issue but it doesn't help. Lately, I keep getting a error that the machine has run out of memory and can't start. If I lower the memory allottment from 8gb to 2gb (or smaller) it will run fine.

I assumed this meant my physical server was running out of RAM, so I ordered more (not currently installed). Even if I reduce the other virtual servers to nothing to free up memory it doesn't help any.

Is it possible this install has become corrupt? Should I just shove as much RAM as possible into and hope for the best?

Any ideas at this point would be greatly appreciated.

Thanks
 
Any events in the event viewer? Especially for hardware issues.

Open the task manager/resource monitor, how much memory is available? Is something using too much memory? The host should take less than 2GB total, plus the Ram being used by the currently running VMs. Subtract that total from 32 and you should get your available RAM. If the number is way different, something is wrong.

Also, how is disk space where that VM is stored? Are there a bunch of snapshots of that VM?
 
Guest OS is Windows Server 2008 R2, the Host system is Windows 2008 R2 Data Center Core Install. Nothing has changed on either recently. I'm planning on installing additional RAM to the machine shortly but I haven't had any down time to shut it off.

The VM is stored on a SAN with plenty of space. I believe at last check it had 1TB or more of open storage. We had a seperate server running additional VMs on it that's stored on the same SAN and it's not currently experiencing any issues.

I will check the resource monitor in a bit and report back on that.

Thanks for the input.
 
Sounds to me like you have a bad ram chip on the host and are hitting that bad area of ram when you increase the size of memory that you provide your guest.

As someone else stated, I'd check your event viewer, do a ram check and/or turn off any anti-virus that you might have running on the host, if any.
 
Looking at the resource monitor shows that sqlserver is taking up roughly 90% of available memory. I don't know if that would cause connectivity issues or issues with it failing to start.

I'm not a SQL Server guru but isn't there a built in way to throttle the amount of CPU and RAM that it will use at any given time?

If I continue to have issues with this I may build a identical VM and swap everything over just in case this ones going bad on me (is that even possible).

Does anyone know of a good website or two devoted to Hyper-V? Since this is now my responsibility I would like to be able to learn as much about it as possible.

Thanks for the input, it definitely helps.
 
How is it taking up 90% of memory? Is it a VM using dynamic ram or is a sql instance running on the host OS?

I think it would help to have more info.

1- is the host OS used as just a hypervisor or does it have roles/software installed?
2- how many VMs are on the host and how much ram are they assigned each? Are they using dynamic memory (if so list the starting ram and limit)
 
Is the SQL process running inside the VM or on the HyperV host? Also are you using Dynamic Memory on the VM? If so, how is it currently set? Do you have any reservations or limits set on the VM?

It's also possible its bad ram or some other hardware on the host. I've encountered similar issues once where the memory slots on a hosts motherboard went bad. It was giving off all sorts of odd "Out of Memory" errors, meanwhile it had over 80% of memory free.

Finally got around to doing a memtest and it failed. After replacing with known good sticks and other testing, it turned out 4 out of the 12 memory slots were bad. Off to RMA it went. :p
 
I've sorted my initial problem out. I had multiple snapshots and apparently these were causing it to run out of disk space. I've delete all but the most recent and it's running like a champ now.

As for the SQL process. We run SQL Server on that VM that 4 other VMs access for data. At any given time throughout the day I can check the resource manager and see SQLSERVER.exe using most of the memory. It seems to be set to use around 90% of the memory no matter how much is allocated to it.

The host OS is a Core install of Server 2008, it has nothing running on it except the necessary install files and drivers.

It's using a static RAM setup. This particular instance is running 12gb. The other VMs on the host are also setup with static RAM amounts.

I may come in over the weekend and run a memtest just for peace of mind.
 
SQL defaults to basically using as much RAM as it possibly can. You'd use sp_configure to set the maximum amount that you want allocated to SQL.
 
When we had memory going bad in our machines, I was getting a lot of WHEA events in the event viewer. Typically they were followed by a full system crash.

For SQL, you can open SQL Mgmt studio and connect to the instance. Then right click on the DB instance, click properties, and then the Memory page. From there you can set the min/max ram for that instance of SQL. If you have more than 1 instance of SQL, you need to do this for each one. Also, leave 1-2GB of ram for the OS and other applications.
 
I've sorted my initial problem out. I had multiple snapshots and apparently these were causing it to run out of disk space. I've delete all but the most recent and it's running like a champ now.
.

I've run into issues at couple clients running SQL on Hyper-V where excessive snapshots were causing all sorts of performance and stability issues as well.1 was doing a snap everytime they made a change patch to the database. The snap tree was nuts!
 
Back
Top