I get it.
You either have to deal with software that runs on specific Operating Systems, or you need to develop software and want to test it on different platforms: Ubuntu, Windows 8,10, Mac OSX,etc.
You could also be pen-tester in charge of the security of a company.
Bottom line is, you need to run SEVERAL virtual machines.
So what’s the best laptop for virtualization?
See, that’s a very subjective topic….
Some people may just want to virtualize a few Linux Distros and others might run up 50 VMs.
So the best laptop or hardware will depend on those and other factors more precisely what YOU are doing inside each VM).
As for me…
The specs I had when I started 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 allowed a colleague to do some security testing running several guest VMs(~20).
It is true that I havent used VMs for every type of job that requires I have a pretty good idea of how much VMs gobble up RAM, CPU cores and hard disk space so these laptops should be adequate for about 99% of the people reading this.
So in other words, what’s written in this post will be based on those instances: software testing and penn testing on VMs.
Recommended Specs for Virtualization
Before I list what I think are the best laptops for virtualization in 2021, I’ll talk a little bit about the specs you need to focus on (just in case some people here don’t have access to these products).
So what I’ll do to quickly summarize the main points. I’ll leave out the details and long explanations to the last section.
If you are unable to understand computer terminology or find my descriptiosn too vague,check it out.
This pretty much excludes the low end of the laptop market , those below 300$, (poor GPU, limited memory, low core CPUs) 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) and hold mobile CPUs with decent clock speeds but the lowest number of threads.
With nearly every modern CPU being multicore and easily going past 3.5GHz today, it will be very rare for you to be bottlenecked by any other spec than RAM. VMs is now all about RAM.
8GB: To run a couple of VMs (software testing).
16GB-32GB: To run several VMs Virtual Labs/ Penn Testing.
+32GB: Forcomplex lab set ups. (+900$ gaming laptops or Workstation laptops can 32/128GB respectively). Consider using a desktop or the Cloud though.
AMD or Intel doesn’t matter. All Modern CPUs support hardware assisted virtualization (Intel VT or AMD V).
Yes, clock speeds are important too but that will depend what exactly you want to run inside each VMs
You may favor Ryzen chips these days not only because their high multi core CPUs but also their multi core performance. There’s no evil going for Intel though.
This one has a much bigger impact on how many VMs you can run simultaneously than clock speed.
HDD: are okay and you can even run dozens of VMs with one. They’re still not the best but are OKAY.
SSD: SSDs are the way to go! Especially if you plan on running applications that read/write data fast. SSDs help launching OSs inside VMs a lot faster too!
*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 on 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. 🙂
. ::looks in wallet::
Top 4 Best Laptops for Virtualization
Well that’s what this post is all about isnt it?
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, then you need to make a huge table with all your options and their specs so you can see what gives you the best bang for your buck.
After you do that, make sure to avoid certain “models” or “series” from certain brands and opt for others so that you can be sure they’ll be quite sturdy to the passage of time too.
For example, favor the ThinkPads over HPs in the 900-1000$ bracket. You don’t need to discriminate brands below the 700$ bracket though. etc.
Anyways, we’ve done all of this and as of early 2021, these are your best options.
Let’s start with the most budget friendly option then follow the by the more expensive/beefiest ones and wrap it up with the less expensive options.
Best Lenovo Laptop For Virtualization
16GB RAM DDR4 (Up to 48GB)
512GB PCIe NVMe
14” FHD TN Display
No DVD Drive
The most popular laptop used for virtualization and will probably suffice everyone reading this.
I know it’s expensive but the truth of the matter is the more you spend on your machine, especially a brand like the ThinkPads, the more it will last.
I’m not just talking about durability here, if you opt for the latest hardware release (the Ryzen 7 here has 8 cores/16 threads ~ 32 VMs or ~8 heavy weight VMs), the longer it’s going to pass the test of time.
By that I mean that over the years, software developers, Operating Systems, Virtualization env, up their hardware requirements to bring out better user experience, so if you opt for the latest, it will be much more likely to fully support lag-less hicup-free virtualizations in the future.
The thinkpad series can be configured in terms of CPU, Storage Space and RAM.
You can choose a model with an Intel CPU but as of early 2021 I probably would not recommend it, Ryzen 4th generation chips have better performance though that may change with the 11th and 12th Intel Processors.
You can find models with 1.5TB SSD space but that might overkill for most people.
You can up the RAM up to 48GB but that can also be overkill but think of it as an investment for the future.
You can choose this model with 16GB and 512GB space and upgrade it later if you feel the need to do so though.
If you upgrade this laptop (48GB RAM), it should handle pretty much anything. If you want to run a dozen VMs for pen testing or to integrate Cisco firewalls, switches with ESXi hosts, it should handle all of that no problem.
If you can’t find this model around your region, I suggest you look for a similar CPU+RAM combo and you should be alright.
Keep in mind that, number of cores HELPs running more VMs smoothly but doesn’t dictate how many VMs you can, that’s really up to RAM and Storage.
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
The ThinkPads T series are build like tanks they will for sure last you more than 5 years even if you move around all the time or take your laptop to work with a bycicle on a bumpy road. Hence, that’s why they’re so popular and expensive.
However, if you’re not going to be jostling your laptop up and down all over the place, you can choose any of the other series : P, E, X1 Carbon, etc.
There are several models to choose from obviously with varying degrees of CPU power, however, I still recommend you choose a Ryzen CPU instead.
Simply because they have a better #cores/price ratio than their intel models.
The CPU here gives you 6 cores/12 threads that’s a maximum of 24 VMs with not much running in the background.
However, it’s only got 8GB which is pretty unsuable for anything large scale. It is usable for software testing though you can run a couple (2-3 VMs) with no hicups.
If you want to use it for Penn-Testing/Lab set ups, then you’re going to need to upgrade it to 16 GB. The limit is 24GB though, probably not something you want for large scale lab set ups should be fine for Cisco Labs provided you upgrade it to 24GB.
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
If you really want to the best multicore performance from a CPU, the only way to get it is by opting for a Workstation laptop or a gaming laptop.
The 4th Ryzen 9 processors holds only 8 cores/16 threads but does have better processing power which means you can use the extra CPU power to either choose to run more background processes in each VM or run more VMs
The only downside is the GPU here, you probably won’t need unless you want to game or put heavy GPU load on a VM/software application.
Best Cheap Laptop for Virtualization
AMD Ryzen 3 3200U
256GB SSD NVMe PCIe
This is the cheapest laptop you’ll find for pretty much anything.
That doesn’t mean you can’t run a VM in it. You can but probably no more than 2 before it starts to feel slugish.
You don’t really need to spend a thousand dollars to run a VM or Two.
This is good if you want to test light software on different VMs or try out different Distros. Nothing else really.
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.