Virtualisation on laptops

Hello there, I wanted to start a small discussion about the use of virtualisation, partly because I would like to know a bit more about how other people manage their guest machines and what their workflow is like.

I'll start off by sketching my current situation. I'm a CS student from Europe, and I'm in my first year of college. I have been using Linux for about a year without any virtual machines, I'm not really a gamer and I'm not a designer either so I'm pretty much free from the use of either OSX or Windows. I had been running Arch with XFCE and life was good, albeit sometimes a bit time intensive to get everything configured how I wanted it to be configured, but that's okay. Starting out in college was daunting, especially when they start forcing software upon the students.

Eventually this lead to me switching back to windows because I ended up with so many apps that wouldn't run on Linux. And the performance of my VM was really piss poor, regardless of how much ram or processor cores I gave it.

What I would like to talk about really, is how you deal with the poor performance of your guest machines. And what hoops you had to jump trough to make it work.

Or if you have other ways of solving it... like finding diffrent apps that do the same thing (Photoshop -> GIMP, etc.)

The start of my second year of college was the perfect time to have a VM. I was running netrunner and needed visual studio. I only had a 320 gig hard drive. I tried setting up a VM server at home and running a VM for visual studio JUST BECAUSE my teacher didn't recognise visual studio code as an actual thing and refused that it was real. It was pompous and stupid and I quit the class because of it.

Another time I got failed on an open book test because I was using Unity as my DE to play with some of the API stuff. I was still using Netrunner and I still love it, but the teacher thought I was playing a game. Not let me ask you, how the hell does Abiword with a bar on the side with some icons look like a damn game. I even voiced out my opinion to the class while she was trying to take my laptop away. I stood up, picked my laptop up, walked around the room and showed people and asked them "Does this look like a game".

Now how does this relate? I opened up a VM with M$ Word and I had copied my notes over to play with the highlight features. Only problem was that the VM crashed and professor grab ass tried taking my laptop again. She wasn't even a professor so maybe I should say mrs professional grab ass..... In any case a VM would have been helpful if I knew how to run them on E-450 APU's :P

Yeah, I do sometimes get the feeling that some teachers love forcing their vision on their students. I get that VS is a great IDE but I'm used to working in the CLI. And I don't even like C#, it's just a nessecary evil that I have to work with. Good thing that most of our stuff is primarily Python.

Failing tests because of an IDE is a whole next level I'm afraid. I hope I'll never run into that. That's almost getting-kicked-out-of-a-coffee-shop-for-being-a-hacker-when-all-you-did-was-use-a-cli bad. (this should be a t-shirt lol)

I just don't get why VS is such a chore on VM's though. It's not like an IDE is supposed to be that heavy. I've had crashes when running windows guests too. And not when running Linux guests... weird...

1 Like

Funnily enough my duct tape for that situation was my Pentium M laptop that wasn't doing anything and was only there as a backup.

In my experience, you aren’t allowed to use any IDE in university. With the exception of some entry level classes in first year.
IDE's are great, but I find they often hide some of the more useful entries in the compiler error output. And they lead to lazy [TAB] [TAB] [TAB] programming. The best thing I ever did was get away from visual studio and get into memorizing my apis. Or just a reference text in my web browser.

PS: Sorry for partaking in the derailment of this thread.

1 Like

I use VM's all the time on my laptop. Just not a hypervisor. Its really useful to have a separate machine where the environment can remain static. I typically keep the code I'm working on in a NFS share, and then make regular backups of the virtual OS's main drive. An basically force a roll back on the virtual OS everytime I close it. So it remains like a read only device.

Yeah, IDE's are what lead me to this virtualisation problem in the first place. I never liked IDE's anyway I think they're too bloated with features I don't need. But yeah, my teachers are very passive agressive about anything you use that isn't what they use personally. It's like a bad version of Apple fanboyism only on Windows this time.

When I was in college I mostly ran Windows until my last year when we were doing a lot of Node JS development, then I ran Linux full time. I needed Windows for one class where VS was necessary. In that case I tried running VMs but there were a lot of bugs with Virtualbox at the time. I also didn't know about KVM at the time. To this day I haven't messed around with it in a desktop environment. As for the performance, it was pretty good for me as long as I fed it enough RAM and kept an eye on resources. However I was also on an SSD, i7 3630QM and 12GB of RAM. So dedicating 4 cores and 8GB of RAM was possible.

Eventually I just ended up bringing a second laptop to class for the Visual Studio stuff I needed. It wasn't ideal, but it worked. Another thing I tried was using Azure virtual machines. We were given $120 CAD / month on Azure so we could spin up and spin down VMs as needed and RDP into them. This was fine except our WiFi couldn't handle it that well and the machine still felt slow even though I speced it out to crazy degrees.

I'm actually typing this on a Manjaro VM running on my desktop. It runs very well with the exception of the graphics. Unfortunately I'm on a 4770k where GPU passthrough isn't possible, otherwise I would be running Linux full time and run Windows in a VM hooked up to my 780Ti.

Not sure if I helped with anything, just throwing in my 2 cents.

I never noticed the core count to matter much on a virtualbox drive for linux. Linux, especially as a developer platform seems very single threaded and low on CPU utilization. I generally pas a linux virtual machine, of any kind, one or maybe two cores and a gig of ram. Thats all.

I actually just checked the VM i'm running on right now to see what my resource usage was, turns out i'm on 2 cores not 4. With chrome, brackets, and gulp serving up an application its using just over 2GB of RAM out of 8GB. Which isn't so bad. I could do with less memory I suppose, but I have 16GB on this system so I might as well use it.

On a laptop I found that having an SSD (like any other machine) made a noticeable difference. One benefit to this is if you need to go into swap for anything at least that is faster. Might make systems with a low RAM count run a bit better on the off chance it needs more resources. Although that probably applies to any system, not just VMs.

Ah yeah, well I currently run fulltime Windows because we're required to use microsoft SQL server and VS a bunch of the time. I got a computer with 8 GB of ram, and a 3.2GHz quadcore i7 and a GTX 765M graphics card. And I run ubuntu in a vm on my other "workspace" thingy in Windows 10 so I can switch with a keybinding between the OS's. I still prefer linux when working with things like python and git and stuff. So yeah, Windows as a host seems more stable than linux as a host for some reason. Might be because I have some driver issues on Linux sometimes.

VMs can perform really well, the problem seems to be that you - in particular- have some problem which we need to solve.

But right know that's hard to even try, because with what you told us so far it's impossible to figure out why you have poor performance on your guest OS.

What's your hardware, which virtualization solution are you using, which guest OS are you running?
How did you set it up? Did you do any debugging so far?

I use Debian 8, I manage to keep to it for the majority of things as my work flow doesn't involve many windows specific things. I attempt to find alternatives or ways to make it work when the challenge arises.

For virtualization I haven't ran into any issues with speed, this is using both qemu-kvm and virtualbox as well as LXC (doesn't really count as virtualization..). I have ran guests from both SSD and external HDD no problem. My go to VM is a Windows 7 guest with virtualbox on my external HDD, does everything I need to do (batch and powershell scripting, Office stuff once and a while)

I also use a few Windows 2008 servers off the same external HDD, often simultaneously with no issue although that's with barely any load on them.

Hardware is a laptop with: 4th gen i7, 16gb DDR3 1333 mhz, 120 gb OCZ vertex 3, 256 gb samsung 850 evo, nvidia gtx 840m

I can't recreate it right now since I switched to Windows again, but I used to run Arch and VMware Workstation Pro, since the school said we had to use that. And as I didn't have time to debug it I really just switched because I had work to do that couldn't wait.

I'm going to switch back as soon as I have some time to play around with operating systems again. But as far as I recall, it had something to do with my graphics card and bumblebee. As I don't really game I just left my graphics card untouched and switched to my intel graphics card because of the better battery life. So I had to install bumblebee specifically for the VM. I tried running some 3D benchmark with my graphics card and that just worked okay except for a freeze every 10 seconds or so. Did all applicable troubleshooting on the Arch wiki and that didn't really help either so I called it a day as I couldn't afford to lose more sleep over it.

I was just wondering really wheter VM's were supposed to be that slow. And appearantly they're not, so yeah that was kinda stupid on my part :/. I'm also kinda sick of Arch so next time around I'll try it with Ubuntu or Fedora or something. Probably my inexperience.