I get it.
You either deal with software that runs on specific Operating Systems, or you need to develop software that has to run on several different OS: Linux, Windows, Mac OSX.
You could also be pen-tester of security systems to protect your company against hackers.
Bottom line is, you want the best laptop for virtualization.
But that’s a very subjective topic.
Some people may just want to virtualize a few Linux Distros while others might want to throw several Virtual machines so what hardware specs to get depends.
The specs I had allowed me to test software written for virtually every OS(I even ran the Windows 8 Release Preview and Linux Mint simultaneously). These same specs let a colleague do some security testing running several guest VMs.
My laptop doesn’t do either anymore but I still use a Virtual Machine to run Ubuntu (to run CRPropa and other linux based physics simulation software).
Although I haven’t used VMs for every job that requires, I have a pretty good idea of how much VMs gobble up RAM, CPU Cores and hard disk space and I’m sure the laptops I’m going to list here should be adequate for 99% of you.
Before I list what I think are the best laptops for virtualization, I’ll talk a little bit about the specs a laptop for VMs should have (just in case some people here can’t find them on Amazon).
Obviously, the details are quite complex and depend on the type/number of VMs you are going to shoot for. So what I’ll do to quickly summarize the main points.
If you are unable to understand computer terminology or find my descriptiosn too vague, go to the last section where you can get more details and better explanations.
Recommended Specs for Virtualization
To make it short and sweet, you want as much memory as you can get and just a reasonable amount of storage space.
This pretty much excludes the low end of the laptop market , those below 300$, (poor GPU, limited memory) and also some freaky devices (super tiny laptops, tablet/laptop convertibles, 2 in 1 touchscreens etc) because these have a fixed amount of memory on-board (can’t be upgraded).
With nearly every CPU being multicore today, VMs is now all about RAM.
You want as much RAM as you can afford. With the clock speeds & insane disk capacities of today, it will be very rare for you to be bottlenecked by any other spec than RAM.
8GB: To run one or two VMs (software testing).
16GB: To run several VMs for a Virtual Lab.
32GB: For extremely complex lab set ups. (+900$ gaming laptops or Workstation laptops support 32-128GB).
All you need is a modern CPU. AMD or Intel doesn’t matter. All Modern CPUs support hardware assisted virtualization (Intel VT or AMD V) plus they are all multicore and have enough clock speed to run OSs fast. The clock speeds will depend on what exactly you want to run inside those VMs, if it’s nothing big, it doesn’t matter. #Cores will depend on how many VMs you want to run with no hiccups. A good rule of thumb is 2 VMs per thread.
This also has an on how many VMs you can run simultaneously.
HDD: If you plan on running several dozens of VMs. HDDs are not the best but are OKAY.
SSD: Choose an SSD you plan on running applications that read/write data fast. SSDs also help launching OS inside VMs a lot faster!
*Note that if you try to run several dozens of VMs, it’ll be very rare for you to run out of CPU power, you will most likely be IO bound by lack of RAM, this is where SSD can also give you a helping hand by acting as “extra RAM”, HDDs can’t do this fast enough to be usable.
Your machine needs to be extremely heavy on CPU & RAM resources. So invest on those two rather than a GPU.
Armed with this info, pick your favourite brand, check online for specs, get as much computing goodness as you can for as few dollars as possible, visit your favourite consumer electronics store and have a play.
Top 5 Best Laptops for Virtualization
. ::looks in wallet::
If you are trying to stay under $1,500 with $2k being the absolute limit and been saving up for a while to make this investment and want it to last, check out the following 5 laptops they’ll give you the best bang for your buck and I assure you they’ll be quite sturdy to the passage of time too.
Note the order is not best to worst, it starts with the most budget yet ideal set up followed by more expensive and less expensive options.
Best Budget Laptop For Virtualization
Core i5 8265 (4 Cores/ 8 Threads)
16GB RAM DDR4
17” HD+ TN Anti-glare
No DVD Drive
The best laptop for virtualization hands down. HP has pull it off. For some reason their model here has put the right specs exactly tailored for virtualization without adding anything unnecessary like a dedicated GPU.
What about the design?
Well this laptop is thick and huge so it’s very easy to upgrade among all brands. You can add an additional 16GB RAM to it to make 32GB and even add another storage drive. But I don’t think those upgrades will be necessary for most of you.
I would recommend this laptop (which I use myself) to any user not running like 40 VMs or running anything way too complex on each. This is ideal for those running simple Cisco Labs or testing software for different OS systems.
However, if you just need a virtual machine just to run a version of Linux and run some simulations with simple python code, you would be saving a lot of money on just something like an Acer Aspire 5 with an integrated GPU,the last laptop on the list.
If you can’t find this laptop in your region.
The bigger the size, the easier it is to upgrade.
Ensure that you have at least 8-16GB RAM (so that it can be upgraded to 16GB).
The amount of disk space/RAM is what will dictate how many VMs you can run at the same time.
Best Lenovo Laptop For Virtualization
Core i3- Core i7 10th generation 4 cores / 8 Threads
8-32GB DDR4 RAM
Intel HD 620
14” TN FHD
If you have more to spend, try to get this little monster right here. No matter what type of virtualization you’ll be doing: running dozens of VMs for pen-testing or integrating Cisco firewalls, switches with ESXi hosts with VMs in the dozens, this laptop will take any type of load.
This is obviously not a good investment if you are just a software-tester or just want to run one VM for a specific code written for Linux (like me right now).
If you can’t find this one in your region. Make sure to get a model with something like 32GB RAM. There are dozens of gaming laptops that have this feature but again they are gaming laptops which add the unnecessary cost of a very powerful dedicated graphics card. On the other hand, with models Like the ThinkPads are more geared towards RAM/Disk Space than CPU/GPU power.
Lastly, don’t worry about the Mobile U CPU. The 10th generation CPUs, be it core i5 or core i7, are way too powerful to ever give you a bottleneck for whatever you are doing.
I go into details on the last section but basically the number of cores doesn’t really dicate how many VMs you can run.
All the processing power is distributed according to how many VMs you want to run. So yes, you can run +8VMs with a quad core processor (though obviously a six core would run them better). However getting a six to 8 cores processor on a laptop may come with the price of a dedicated GPU which you don’t need.
The amount of disk space/RAM is what will dictate how many VMs you can run at the same time.
Best ASUS Laptop For Virtualization
Core i7 10750H 6 cores/ 12 Threads
16GB RAM DDR4 (Up to 32-64GB)
NVIDIA GeForce GTX 1660Ti
512GB PCIe NVMe
15” 120Hz full HD IPS
>1 hours under high loads, 5 hours otherwise
The second most powerful CPU on laptops in 2020.
Unlike the Lenovo, this should let you handle the same amount of VMS but with heavy loads under each VM. The difference might be significant if you are launching heavy applications on each VM and not so much if you are just running code / setting up security systems on them.
Having a CPU this powerful usually comes with the price of getting a very powerful GPU. But I’ve managed to find a combo that has a mid-range GPU with it and this is why the Price is significantly cheaper than most high end gaming laptops with a 10th Core i7.
Intel HD 620
1TB SSD NVMe
15” FHD IPS
Another Lenovo ThinkPad.
FYI, if you have the cash and want to run the most complex lab set ups with dozens of VMs and you are still afraid that 32GB might not be enough. The P-series (which has absorbed the W- series) from Lenovo support up to 64GB RAM and today can accomodate up to 2TB of SSD Storage.
If you are planing to toy around with Linux OS, ThinkPads are the best laptops to virtualize any type of Linux distro.
Just make sure to avoid those that offer you a dedicated GPU,they’re not only expensive but unnecessary.
Again if you don’t think you can afford this one either, just look for another thinkpad model: the T560, T460, T460p, and the T460s still support plenty of RAM (32GB) and 1TB PCIe NVME SSD. (only the T460 supports that much).
Cheap Laptop For Virtualization
AMD Ryzen 3 3200U
8GB RAM DDR4
AMD Radeon Vega 3
15” IPS full HD 1080p
I’ll start with a basic laptop that can only run Kali Linux on a VM. If you want to learn all about writing scripts/software/analyzing code for Hacking, that’s all you need really. So you don’t have to invest on a core i7 extreme edition with 32GB RAM, the latest NVIDIA GTX GPU with 1TB SSD storage jammed into it.
Lastly, a cheap yet decently powerful laptop. This is a good choice if you’ve decided to move from the big old corps and try it out different linux distros, either to play with their code or to install/run software written for Linux -based systems only.
Yes, you don’t have to invest on a core i5 or 16GB RAM to run one or two Linux Distros.
The 8th generation Core i3 CPU is plenty powerful to handle up to two VMs. It’s also upgradeable in terms of storage (an additional 500GB SSD or 1TB HDD) and RAM (up to 8GB).
What about MacBooks?
All MacBook Pros are capable of virtualization, you just have to download the Mac Version of whatever software you are using. The best Macbook for virtualization (more specifically the configuration : RAM + CPU) will depend on how many VMs you plan on running:
How to Buy The Best Laptop For Virtualization
This subject is way too broad to simply list the specs and be done with it. And as a mentioned in the intro, there are dozens of users with different types of needs from virtual machines and therefore will require quite different specs for their purposes. The problem also lies there being tons of misconception about Virtual Machines.
So before you end up with brain damage reading this section. Let me clarify a few definitions for those newbies into virtualization (it may be CS students focusing on virtualization courses).
If you are not new to Virtualization, you can entirely skip to recommended specs section right after.
1. VM Terminology
HyperVisor: This is basically the virtualization program you are going to use. It basically makes the OS you launch think it has its own hardware: processor memory and other resources etc. Of course this is all a big lie and the hypervisor is behind this entire shanda.
VMWare ESXi: This is anenterprise-class type-1 hypervisor developed by VMWare. It’s not a software application as Oracle Virtual VM Box that’s installed on a operating system. You could say it’s an OS itself with its own kernel from which you can launch several VMs.
KVM: (Kernel Virtual Machine). This is for Linux OSs, it’s a kernel that makes your Linux distro turn into a hypervisor (hold VMs inside the distro).
Domain Controller: this is a computer/server that manages who gets in/out or which requestes get access to the networks. Basically in charge of network security.
VMware Workstation: this is a hypervisor that’s istalled on an OS. You can host Windows and Linux OSs on it.
VMware Fusion: this is a desktop virtualization tool for Mac.
Firmware: this is the software automatically installed within any machine to provide low level control for all the hardware in it. This also called the “BIOS” for PC machines and you see at the start of the booting process. For example, let’s say you want to switch the “booting device” from the Hard Disk Drive (where your OS is instaleld) to a CD-ROM Drive (perhaps to install the OS again).
VPN: This is a virtual private network, it has nothing to do with Virtual Machines. It just allows you to connect to a specific network from your device (perhaps your school’s network). You can access that network’s resources remotelly and even launch software.
Why mentioned VPN:
PenTesting: because this term is found nearly on every virtualization post you’ll find.. Virtual Machines are used to simulate VPN or other types of real world noteworks and pen testers basically test for any faults/security holes in these networks(as well as strenghts).
VT: this is the virtualization technology provided by Intel Processors. They’re basically special instructions installed on processors to optimize the use of Virtual Machines. You can use “InterlArk” to find which processors are “VT” capable processors but today most modern processors, be it for desktop or laptop devices, already have this feature. You should check on this only if you’ve got your hands on an old laptop or planning to buy one.
Hyper-V: This is a native hypervisor installed in most machines and is actually activated most of the time. When it is activate it and VT-x is also enable, Hyper-V will make use of VT-x and VMWare or VirtualBox or any other VM software will no longer see “VT-x” as enabled and will consequently be unable to run. So you need to deactiavte Hyper-V to make use of VT-x.
2.Virtual Machines FAQ
With definitions out of the way, let’s clear a few misconceptions/contradictions you’ll find about Virtua Machines:
- Virtual Machines & Cores Utilization: this one is the most widespread misconception. Some say “each VM gets at least core and this core will no longer be usable for the host or other VMs”.
Is This True?
Well without getting into many details: No. Hypervisors, generally, do not reserve cores. All cores are balanced across all the virtual machines you have. But obviously having more cores will come more and more in handy if you run several Virtual Machine with heavy executions on each.
2. Do multiple cores slow down Virtual Box a lot?
This is a tough cookie. Some say it varies between versions of VM and some new releases will handle it better but generally yes If you assign more CPUs to a guest, there will be more overhead in the CPU. More Overheads means more waiting times. Unless your specific software makes efficient use of multi-cores, then it’s not worth adding more CPUs to the guest VMs it won’t make it go anything faster.
3. Some recommend the best hardware your money can get.
We’ll discuss this in the next section but let me just say for now that CPU is rarely the bottleneck. Today we have literally CPUs that are too powerful for what most people do and RAM & Storage will be the main bottleneck most of the time.
4. Some recommend older hardware, so that Linux will have all the needed drivers.
There’s no need to get older hardware. It is true that Linux will have the drivers for older hardware but Linux is an open-source OS, it’s constantly being updated daily and new drivers are being developed as we speak. Of course, if you don’t like waiting and would rather get the best Linux compatibility out of the box, don’t opt for very recently released hardware.
5. Some recommend Intel, others AMD.
It really doesn’t matter. As long as the processor supports virtualization you should be fine. Intel processors that are 10 years old do not have this feature and so do many old AMD processors out there.
Depending on the type of user you are , the type of virtual machines you will run (and obviously the number) will vary and so will the hardware:
- Students: Well there are two types of students. Those still in undergrad taking classes that use software that runs only on very specific software and Cybersecurity/IT/Networking students. The former does not even need to read this post as any machine out there will do, check my post on CS students. The latter however will usually run several Windows 10 VMs for classes.
- Software tester: These guys test software they write on a different OS. Likewise these guys don’t need any specific set up to run VMs. As long as the laptop has been released within the past several years and has an intel core i5 with 8gb RAM in it, it’ll be able to virtualize any OS out there. Even horrible Windows 8 and Linux Mint will simultaneously run at decent speeds.
3. IT professionals: I have a separate post for these folks. Usually they just need to build a lab on their workstation or laptop for that matter, that is, integrating Cisco Firewalls,routers, switches with ESXi hosts and VMs. Long story short, these processes are not really CPU intensive but they’ll consume a lot of memory.
4. Pen-Testing: These guys are the ones who’ll need the beefiest most powerful laptops for Virtualization and yes “get all the hardware you can get for your money applies here” even dedicated graphics card may come in handy sometimes (more on to this later).
In this scenario, CPU will usually be bottlenecked as older CPUs will not be able to handle a variety of virtual machines with different types of OS. Ex: Running a Win VM and Kali VM simultaneous, say, using Windows to repliate internal services and then Kali to run Responder to poison requests. An earlier generation (even an i7) CPU will find the instructions to complex and cut off executions altogether.
There’s also of course the need to have as much resources available as possible to be able to test environments/domains and run full vulnerability scans by setting up huge networks composed of several virtual machines. .They also need to take into account “compatible network adapters” with the Operating systems they want to test to be able to monitor any “sniffing ” in network traffic and wifi testing. Main brands that offer pretty compatible hardware with (Kali) for example are Dell, Lenovo and HP which all have mobile enginering laptops with the usual specs for pen-testing. Usually mobile Xeon processors, 32GB RAM and dGPU with an SSD are standard for these purposes (the extra power might come in handy if you want to record the entire procedure for evidence purposes).
For anything not that complex any laptop can be used for PenTesting. It, really depends on your use case. As long as your CPU has a few cores, support for VT-x/VT-d, plenty of RAM and a fast large SSD it’ll run lots of VMs for malware analysis and security assessments.
4.Hardware For Virtualization
I remember a friend who got an ASUS ROG with the latest Core i7 and 16GB RAM jammed into it last year. He would run 4 VMs and as we monitored the sources (using CTRL+ALT+SUPR), there was still A LOT OF JUICE left from the processor but the RAM was on its last legs , entirely being used.
16GB vs 32GB
Most laptops are limited to 32GB RAM but they come with 16GB RAM. Only the T and P series from Lenovo support 32GB RAM. Most mid range laptops though will take up to 16GB RAM but nearly all workstation laptops/gaming notebooks will take 32GB RAM.
If you end up with a laptop with 16GB RAM make sure it’s upgradeable to 32GB RAM so you can have the option for more breathing room in the future if you ever need it.
Why should you try to opt for 32GB RAM? Well besides being the maximum amount for most laptops. 32GB RAM will allow you to virtualized nested VMs with a storage appliance and Windows Instance running vCenter. Though you can pull this off with 16GB RAM, the experience is far better with 32B GB RAM.
16GB RAM is not too bad either though. Here’s an example of what you can do with 16GB:
ESXi Host 1 – 4GB of RAM – 20GB of Hard drive
ESXi Host 2 – 4GB of RAM – 20GB of Hard drive
Windows Server 2012 R2 installation – 15 GB of hard drive
+ linked clone – Domain controller & iSCSI target – 1GB of RAM – 35 GB of hard drive
+ linked clone – vCenter Server 5.5 – 4GB of RAM – 35 GB of hard drive
Total 16GB RAM, 240GB HDD.
RAM is always the main limiting factor for Virtualization. A good hypervisor can divide an average cpu time pretty well, but RAM has to be committed to specific VMs.
After you max out RAM. CPU is the next bottleneck(though as you’ll see soon rarely).
Which Processor is best for Virtualization?
Dual Core vs Quad Core vs Hexa Core
You should always look out for more cores (ie: a slower-clocked quad core as opposed to a faster clocked dual core) so that ideally (though not necessary) that each logical machine (including the host) can have at least one dedicated core.
Intel vs AMD for virtualization: Intel VT, Hyper V, AMD V
As long as the number of cores and clock speed are nearly the same. It really doesn’t matter.
More important than that, you should check if your particular CPU has specific technology for better VM support.: “Intel Hyper V” or “AMD-V”. Also note that the prefixes x86 and x64 stand for 32bit and 64 bit plataforms.
.With the exception of certain netbook-class processors, any processor/motherboard on the market today will support these technologies. So yes, almost all newer server, desktop and mobile Intel processors support VT-x, with some of the Intel Atom processors as the primary exception.
However, these options sometimes are disabled by default in the BIOS/UEFI settings users must enable Intel’s VT-x feature in the BIOS setup before applications can make use of it.
In the past, this feature was limited to Intel processors. In case you didn’t know HyperThreading splits a physical core into two or more virtual cores. So yeah, they are helpful for VMs. Note however that having a quad core won’t limit you to have 4 or 8 cores(with hyperthreading), VM software is able to handle more VMs if you want as mentioned before, it can split the CPU’s resources across the number of VMs machines you want.
However with the advent of 8th generation CPUs & AMD Ryzen line series, both of them have about the same type of “multi-threading”. Although the name is different, they’re essentially the same.
Core i3/AMD A-9
A few years ago I’d advice people to buy core i7s for their hyperthreading to have 8 execution units but now it is irrelevant which brand you get but you should be careful on choosing the model. Core i3 and AMD-9 and many other AMD Models do not support hyperthreading.
Finally, after maxing out on CPU & RAM: storage!
Running multiple VMs for simulating environments can sometimes create a lot of IO pressure, so a good SSD (Preferably PCIe NVMe SSDs) or RAID setup would go a long way.
For example running a 3 node cluster (Requires at least 5 VMs) with only one hard drive will get you into IO issues.
Putting your host OS on an SSD and adding another, fast (7200 RPM) Sata 3 drive and then spreading the VMs across your drives.
Upgrading Storage & Work Arounds
Which of course requires you to upgrade your laptop (if your rig doesn’t have 3 or 2 drives).
Note that if your rig does not have enough space for an SSD or another hard drive on top of the current one, you can always use CD/DVD room to install a second or even a third hard drive.
Limited on-board storage can also be worked around with USB3 drives. (I ran VMs from an external USB drive and it was good enough – just.)
HDDs vs SSD (Hard Disk Drive vs Solid State Drive)
Also fast storage is expensive. Regardeless if you are going to do any upgrades, you should always prioritize SSDs. HDDs are definitely a bottleneck for VMs and should be avoided unless on a extreme budget or simply being faced with one VM.
A typical 7200 rpm HDD will read/write data ~ 150 MB/sec versus 500 MB/sec of an SSD, which ~3x faster.
Best Storage Systems
In fact you’ll see the best performance out of Virtual PCs if you run them off of a separate hard drive so a machine that supports multiple hard drives is the next best thing after having 32GB RAM.
Most laptops are limited to one or two drives but there are a few models out there supporting more than two drives. For example, Sages NP9262 supports three drives.
If you go the laptop/SSD route, I also recommend you purchase fast, external storage that either has USB 3.0, eSata, or Thunderbolt ports. I also have a 2 TB NAS device on my gigabit network, which is a great place to store ISOs, and commonly used utilities. These are cheap and easy to own/manage.
If you’re just starting out and have a decent laptop, I recommend that you start by upgrading it. You can always add dedicated hardware later.
When possible, I buy waterproof and shockproof electronics. I am a huge fan of the durable Adata HD720 product line ($0.065/GB) for secure project archival and system backups. It is the only external Hard Drive brand I’ve owned of which the drives outlasted other brands, generation upon generation.
GPU isn’t really a requirement as you will not be utilizing heavy GPU sessions unless your VM is doing something like Media Development or anything with highly detailed 3D images and viewport.
Note that having a GPU is unvoidable in most cases since gaming rigs are the ones who have the fastest CPU and large RAM capacities. You aren’t likely to find the same specs without the added & expensive GPU from gaming/consumer laptops.
Due to the fact that there will be powerful components inside your laptop, design also becomes important. By design I mean a well assembled laptop that can deal with high temperatures & heavy load which will unvoidabily happen when you start adding more and more Virtual machines.
Usually, thick & heavy laptops, will deal with heat better since there is plenty of space for ventilation/bigger & more powerful fans too.
Among gaming/consumer laptops, the ones with essentially an open grill at the base will deal with high temperatures much better.
Laptop vs Desktop
With the huge amount of hardware needed for running several VMs and nested networks, why not go for a desktop?
If you are expecting to be an IT professional, then you are going to need a decent lab. What’s decent will vary over time as you make progress inyour career and activities. Going for the desktop route will allow you to scale your hardware as needed.
Few more advantages of having a desktop:
Your daily rig isn’t affected.
Though the performance gap has been rapidly closing in, powerful desktop hardware is still cheaper and faster than most laptops.
Desktops are often louder than laptops.
You will lose access to your lab if you go on a 2 week trip (unless you set up a VPN).
More hardware requires more management/maintance.
It’s a bit more expensive to upgrade.
If you’re just starting out and have a decent laptop, I recommend that you start by upgrading it. You can always add dedicated hardware later.
Using your regular laptop has advantages:
It’s cheap to upgrade.
It will several times faster when you upgrade it.
It’s highly portable so you can easily take your lab on the road with you.
But it also has disadvantages:
You may find yourself always running out of disk space.
If you run enough VMs, using it for anything else (at the same time) can get annoying.
Your employer may not allow you to upgrade whatever laptop was given to you.
I almost didn’t mention this because most people these days have a wireless router, and technically if you run all VMs locally, you don’t need one.
The right router can be key if you travel and go the dedicated desktop route. The VPN setup is invaluable whenever you are on the road, you can hityour desktop/lab.
I personally find the Asus RT-N66U the best because it has excellent wireless range, a fast internal processor, Gigabit ports, and the ability to set up a VPN without flashing the firmware to a home built version like Tomato.
- Your virtual environment (workstation) is going to be allocated as many resources as you decide. If you choose a vMachine to have 8GB of RAM and 2 cores. That is what you’re taking away from your primary environment. So choose whatever you’d like to have your virtual environments to take away from your specs.
- It would be best to analyze what your real constraing resource is (RAM or CPU); then find a platform that will support that or upgrade whatever you have accordingly.
- Armed with this info, pick your favourite brand, check online for specs, get as much computing goodness as you can for as few dollars as possible, visit amazon or your favourite consumer electronics store and have a play.