A laptop optimized for virtualization is generally needed in either of these four instances:
- Running software only available in one operating system
- Developing and testing software for different operating systems: Linux , Windows, Mac OSX, Chrome OS, etc.
- Home labs for IT.
If the first scenario you only need to run one VM. Usually a Linux Distro on a Windows hypervisor (fancy word for virtualization software).
If so you don’t really need to do much research about what’s the best laptop for virtualization, as most machines even those ~300 dollars laptops can run one VM with no hiccups.
In the second scenario…
You will probably need to run 3-4 VMs (a few of these will be Windows based virtual machines) for which the RAM requirement goes up to 16GB or more.
For the remaining scenarios…
You will likely need to run anywhere from 2 to 50 VMs depending on what you do. Penn-testing will usually require you to run 2 as well (Kali Linux +VM) when getting started.
But as you dwelve deep into the IT field you may need to run up to 20 VMs. This is approx how much you’ll need for a home lab or (lab for practice) in the IT field. Either way, this means having at least 32-64GB RAM and of course the CPU with the largest number of cores you can get your hands on.
As for myself…
I’ve only used VMs for code testing (linux packages) in 2 VMs simultanously but I’ve built a PC for a friend who needed to run 20 VMs (IT purposes) while trying to keep it on a budget so I have a pretty good idea of how much RAM, CPU resources and disk space VMs can gobble up.
Best Laptop Specs for Virtualization
Based on that, here’s my recommendations when it comes to hardware for virtualization.
I’ll make it very brief here but you can head over to the last section for all the details (and benchmarks). Also if you’re not adept with computer jargon, check my posts on the side bar.
Note that you can just skip this section and head over the best laptop for virtualizations if you want!
With CPUs generally being multi-core (really multi-core) in 2023, Virtualization is now all about RAM.
As of 2023, most CPUs have at least 4 cores (as we’ll talk about next it is enough for 7 VMs simultaneously) so RAM will be the main bottleneck.
8GB: This may seem low but it does the job for a couple of VMs ~4 . I’ve used this much for software testing (you don’t want to turn on and off a VM but rather have most OS running in the background).
16GB-32GB: minimum for 10 VMs (~10) and if you’re going to get into Virtual Labs/ Penn Testing simulations. You’ll start with 2 VMs (Linux + Win) but will later on run a dozen (thus 16-32GB is future proof).
+64GB: Only useful for very large lab set ups and found on SOME gaming laptops and workstation laptops.
Not an issue for a couple of VMs (2-3).
For labs: You may have read on some forums that clock speed also factors in the # of VMs you can run and that’s true but CPU Threads is still the biggest factor.
Since virtually all modern CPUs support hyperthreading, this means you want to pick the CPU with the highest number of cores you can afford. After maxing out on clock speed, you want to aim for higher clock speeds (this
Note: Whether you get an Intel or AMD CPU is meaningless both support virtualization technology (Intel VT or AMD V).
You may increase VM performance slightly if you use the M.2 slot to upgrade the storage (if you do happen to use the second storage). M.2 SSD > 2.5” SSD.
Otherwise, just use the on-board PCIe NVMe SSD to host VMs (all modern laptops have it).
Keep in mind, if you need to run dozens (+30 VMs) it isn’t likely you’ll run out of CPU power but rather become I/O bound (lack of RAM) and if RAM has been maxed out then the SSD can act as extra RAM thus it is always good to make sure all SSDs are PCIe NVMe SSD.
It isn’t required to run VMs. However, if you’re running Penn Testin Labs (several VMs) and want to simulate attacks, the GPU cores found on dGPUs may come in handy. The same can be said if you’re practical ethical hacking. I talk about it more in my post here “best laptop for hacking“.
This rule excludes laptops below 350 bucks (only 4-6 cores with limited RAM – 4GB (Soldered) with max support to 12GB). It also excludes ‘portable’ devices : tiny laptops, 2-1 in laptops, touchscreen displays as these have not only their RAM soldered at 4-8GB but are also almost impossible to upgrade and usually carry low-end CPUs with low core-count (for temperature control purposes)
Top 4 Best Laptops for Virtualization
It isn’t just enough to go out , look for laptops armed with the info I gave you. Why? You also need to find laptops with:
- Excellent build quality
- Excellent Customer support
- Reasonable price
- Great cooling systems (running dozens of VMs can raise temperatures quite a lot)
- RAM Upgradeable (only a few are upgradeable to 64GB).
So what I did here is make a table of all laptops with the hardwarae we talked about before and then remove those options without the qualities just mentioned.
There’s one brand that has a lot of models with all the hardware goodness and these good qualities: Lenovo.
If you want your VM machine to last you a long long time you may want to consider Lenovos as their not only built like tanks but they’re specially designed for VM purposes (easy and high RAM upgrades).
If you’re spending less than 700 bucks then , you can probably go for any other brand as the Lenovo models tend to behave the same way as other brands below this price range.
We’ll start with the most popular and most ideal laptop for virtualization (dozens of VMs +30) then go over cheaper options from other brands (2-10 VMs).
Best Lenovo Laptop For Virtualization
12th Gen Intel i7-1260P
32GB RAM DDR4 (Up to 48GB)
Intel Xe Graphics
2TB PCIe NVMe M.2 SSD
14” FHD IPS, anti-glare, 300 nits
No DVD Drive
Windows 11 Pro
Backlit Keyboard & Fingerprint reader
From my research and experience, the best laptops for virtualization are either gaming laptops OR laptops specifically tailored for the IT business, the latter is cheaper because it completely discards the dedicated graphics which is unnecessary. The best laptop out of that group would be the Lenovo Think “T-series”.
This is the latest Lenovo released just in early 2023 thus it has the latest of the latest hardware in it (latest RAM technology & CPU generation). However, that’s not all there is to it.
The Lenovo Thinkpad T series are well known to be built like tanks too so they can witstand long periods of heavy lifting and drops.
I would only recommend this model to those running more than 10 VMs or those running a couple of VMs with heavy lifting processes on each.
Intel i7 1260P:
If you go to the official lenovo thinkpad website, you’ll see there are dozens of thinkpads to choose from (X1 carbon, Nano, E-Series, T-series, etc). Even within the T-series there are still quite a handful of choices.
The model I’m posting here is the one that’s been maxed out in terms of CPU & RAM resources (Storage can be upgraded).
Although the 12th generation Alder Lake CPU posted here will give you as many cores (and threads) than the Ryzen 7 counterpart (~16 threads) which in theory let you run ~30 VMs (mostly on iddle or processing light small scripts), the 12th generation will do so faster for the following reasons (though not significantly faster):
- Every Core in the Ryzen 7 CPU can be hyperthreaded (8 x 2 = 16 threads) and although the 12th gen Core i7 has only 6 P cores that can be hyperthreaded ( 6 x 2 = 12 threads) the remaining E-cores (4) do not have hyperthreading thus they will be physical cores fully dedicated to one VM each.
- Clock Speeds on the 12th generation CPUs are slightly faster (there aren’t 6th generation Ryzen 7 CPUs on laptops yet) as I talk about in the last section more clock speed = more or faster VMs.
- You’ll be able to install the latest RAM technology : DDR5.
RAM set up : 8GB Soldered + 16GB added
It is very important you check how much RAM is soldered on the ThinkPads because that will basically tell you how much RAM you can install on it. Soldered means there’s only ONE slot that can be upgraded as the other SLOT is soldered to the motherboard.
Say, if you choose this specific model, which has 8GB RAM soldered, the maximum amount you can add ~ 8GB + 32GB = 40GB RAM.
This model has only added 16GB thus making it a total of 24GB thus you have to do the upgrade yourself if you need more RAM but I suggest you try it out as it is especially if you’re only running ~4 VMs even heavy loads on each.
If you think you’ll need more RAM, then you’ll have to go to the official website (link above) and choose a model that has more RAM soldered to it. Maximum amount soldered you’ll find is 16GB, if you add a 32GB stick that will make it 48GB.
You’ll find thinkpads with Ryzen 7 and Core i5 CPUs. Ryzen 7 will let you run the same amount of VMs (as long as you get the same amount fo RAM) as the 12th gen CPU ThinkPads. The Core i5 (which we’ll go over next) will be significantly cheaper but the 12th generation Core i5 offer no advantage over older models (still 12 threads with similar clock speeds).
Who are the ThinkPad T series for?
If you’re either running a couple of virtual machines with very heavy loads on each or if you’re running VMs for pen testing or IT purposes say to integrate Cisco Firewalls, switches with ESXi hosts which all require several , if not dozens, of VMs.
You may need more RAM if you’re taking the latter situation to the extreme (50 VMs), if that’s the case you have two options:
- Check out laptop #3 on this list (which is a gaming laptop thus it can support 64GB RAM)
- Get a recent workstation laptop (virtually all of them support 64GB RAM)
|Lenovo Thinkpad T14|
Budget Lenovo Laptop For Virtualization
Core i5 1235U (12 Cores 16 Threads)
16GB (Up to 40GB)
Intel Iris Xe graphics
512GB PCIe NVMe SSD
15.6″ Full HD IPS Anti-glare
Windows 11 Home
The ThinkPad T series not only have the best hardware specifically tailored for virtualization but they’re also quite resistant to damage. Unfortunately, they are expensive.
Lenovo ThinkPad E15:
The ThinkPad E series are significantly cheaper than the T series and will still have the awesome keyboards, trackpads and the easy to upgrade built but they will not support as much RAM as the ThinkPads T series and they’re overall built may not be as sturdy.
Virtually every AFFORDABLE ThinkPad from the E-series will either have a core i5 or a ryzen 5 , both CPUs with 12 threads each (6 cores), even the latest 12th gen Core i5 and upcoming 6th gen Ryzen 5 will only support 12 threads so it’s just best to pick the former models over the newer ones.
Because the built quality isn’t really going to take a toll on performance, the only bottleneck of the E-series is how much RAM they can support. The maximum amount the E-series can support is 40GB RAM (only 8GB short of the 48GB RAM avaiable in the T series)
So I’d say this is still a good option for those trying to set up labs on a laptop and also those running a couple of VMs with very heavy loads (assining quite a lot of RAM) on each. If you want to know how many VMs you can run on sort of ‘iddle mode’ or running code on each, it should be around 6X2X2 = 24 – 2 (host) ~ 22 virtual machines.
Note everyone will need that much RAM or the latest Core i5 on it, so if its out of your budget check out these variants too:
|Link||CPU||Cores / Threads||RAM||Price|
|ThinkPad E15||Ryzen 5625U||6/12||16GB (40 total)||$759|
|ThinkPad E15||Ryzen 4500U||4/8||8GB / 40GB||$684|
|ThinkPad E15||Core i5-1135G7||4/8||16GB/48GB||$844|
|ThinkPad E15||Ryzen 7 5700U||6/12||16GB/48GB||$760|
|Lenovo Thinkpad E15|
Best ASUS Laptop For Virtualization
AMD Ryzen 9 6900 8 Cores / 16 Threads
40GB RAM DDR5 (Up to 64GB)
NVIDIA GeForce RTX 3060 8GB
2TB PCIe NVMe
165Hz 15.6” WQHD 2560 x 1440
2 hours under high loads, 5 hours otherwise
Windows 11 Pro
High-tier gaming laptops are the best (and cheaper) option out of the two (the other one being a workstation laptop) if you want the maximum amount of RAM, the maximum amount of cores and the maximum amount of storage out of a laptop (desktops are x5 times better in all departments with the same hardware – check out the last section)
CPU: Xeon vs Ryzen 9 6900H vs Core i9 12900H
Now I’m sure you’ve heard of Xeon CPUs being the CPUs with the largest # of cores (thus threads for virtual machines) , as of 2023, that’s no longer true. Xeon CPUs (at least on laptops) will give you the same # cores (thus threads) the advantage of Xeon CPUs however is their multi-core performance which means all cores operate at nearly the same clock speed but that may only be useful if again you’re running heavy loads on each VM (very unlikely).
On the other hand, Ryzen 9 and Core i9 have the same amount of cores (Up to 20 threads as of 2023) but not all threads will run at the same clock speed , usually its the only first four that run at the clock speeds advertised and that may be a good thing as it is very unlikely you’ll be running heavy loads on a couple of VMs and leaving the rest on iddle mode (for IT lab set ups or Penn testing purposes).
GPU: 3060RTX 6GB vRAM
As we’ve discussed before and as we’ll discuss even more in the last section, dedicated graphics are USELESS for virtual machines in almost every instance thus you can save a LOT of money by choosing those high-tier gaming laptops with the high-tier CPUs & high RAM capacities but with the weakest GPUs . The weakest and cheapest GPU you’ll find on these high-end gaming laptops is the 3060RTX 6vRAM and you have to make sure you also choose a 17” model as those are usually the ones that support up to 64GB RAM AND might even support 3 SSDs in total.
Below is a cheaper variant of this gaming laptop (16 threads / 64GB RAM) laptop with a Ryzen 9 CPU.
|ASUS – ROG Zephyrus|
Cheap Laptop for Virtualization
Intel Core i3-1215P
Intel UHD Graphics
Windows 11 S (Upgradeable to Windows 11 Home)
I know most people came here looking for a basic laptop that can run two or even just one virtual machine for perhaps running code specific to an operating system or software testing purposes.
If that’s all you’re doing, then you can settle for ANY basic budget laptop that can support ta he full version of Windows (Windows 10 Home/Pro or Windows 11 Home/Pro) which is the main requirement to run virtual machine software like VMWare or VM Fusion.
CPU: Core i3 1215P
I’ve decided to put the latest 12th generation budget Core i3 CPU here because it has better ‘multi-core’ performance over the last generation CPUs and that means being able to run more ‘heavy loads’ on a couple of VMs which is likely what you’re going to do if you’re just running one or two VMs.
Now you can go for the older generation CPUs which may be 100 dollars cheaper as shown below:
Or you could even grab ANY laptop that has a 10th generation Core i3 CPU or 4th generation Ryzen 3 CPU for these purposes.
RAM: 8GB RAM
A lot of these laptops do not come with 8GB RAM out of the box especially if they’re much cheaper but doing the upgrade is a MUST. Buying this laptop not only gets you the latest and fastest budget CPU but also saves you the trouble of doing the upgrade.
If you’re running a Linux Distro on top of Windows you don’t need to upgrade more than 8GB RAM. This laptop is upgradeable to 16GB RAM and that may be useful if you’re running say data science algorithms for data crunching on a Linux VM (RAM will make the process faster) but other than that 8GB should be plenty.
Now the problem with this laptop is that it’s about 450 dollar’s that’s 100 more dollars than the Acer Aspire with 11th generation CPU. The main reason is because it has a FHD display (1920 x 1080) but if you’re willing to give up the high resolution, you could go for the 12th generation model that’s even cheaper than the Acer Aspire which only has a HD+ resolution display:
|Lenovo Ideapad i3|
Q: What is the best MacBook For Virtualization ?
All MacBook are capable of virtualization. You only need to download the Mac Version of the hypervisor or virtualization software you want to use. For ex: VM Fusion has a mac version.
Before you buy a macbook though, you have to calculate how many virtual machines you’re going to run and how much RAM you’re going to assign to each. Unlike Windows, MacBooks only need 2GB RAM to run well. So if your virtual machines are going to be OSX versions then think about assigning 2GB to each, the same can be said about linux which can even take less.
Now here’s the kicker, if you want to run Windows Virtual Machines, you have to buy a MacBook with a x86 processor that means none of the new MacBooks will work.
Q: What about the M1 & M2 MacBooks, can they run virtual machines too?
Yes, but they can only run OSX virtual machines and Linux Virtual machines. The new M1 & M2 CPUs are arm-based CPUs which are not supported by Windows, hence you cannot run a windows virtual machine on either.
Again, if you want a windows virtual machine running on a MacBook, you want to look at older models. A few example are shown below with the approx maximum number of Windows virtual machines you can run on each:
How to Choose A Laptop For Virtualization
Instead of just giving you a big table stating what specs you need a specific number of VMs in an infographic, I think it’s more useful to go all over the computer jargon behind Virtual Machines while at the same time talk about the kind of hardware you need and how each piece hardware contributes to the number of VMs you can run.
Also keep in mind that being able to run one VM doesn’t guarantee it’s going to run smoothly , it all depends on the kind of scripts & software you run on each of these.
If you are NOT new to the virtualization business thus you know the basic VM jargon, skip to the section “Hardware Virtualization Specs”.
1. VM Terminology
HyperVisor: This is the program ( script) that hosts and runs VMs. It creates a virtual processor, memory and storage and tricks the operating system (which is installed in your VM software) that this is all a new computer.
VMWare ESXi: The name for a type of hypervisor by VMware (entreprise class type-1 in technical terms) which is basically an operating system with its own kernel and which can host and run virtual machines. This hypervisor by itself it’s not the full product software you can use like Oracle VM Box & VMWare workstation to run your VMs though.
Kernel: the program that’s in control of every piece of hardware in a computer.
KVM: (Kernel Virtual Machine). Name for the kernel on Linux OS. It makes your Linux Distro turn into a hypervisor (thus making it able to hold VMs).
Domain Controller: This is where the server or computer controls what programs or entities get access to join the network and use its resources . Basically the network security pillar.
Virtualization Software (Ex: VMWare Workstation): common name for the full software package that lets you instal land run VMs. As of 2023, you can run Mac OSX, Chrome OSX, Linux OS and Windows OS virtual machines on windows laptops.
VMware Fusion: the most popular virtualization software for Macs.
Firmware: common name for the tool which gives you access to change a few parameters of the hardware of every PC. Ex: of the This is exactly what allows you switch the booting device (from the hard drisk drive to perhaps a CD-ROM) when you want to run a different OS or install a new OS.
Another used term for it is “BIOS”. You usually see either of these or both names right after you boot up your machine.
VPN: This term has NOTHING to do with VMs, it stands for Virtual Private Networks. It’s what basically people use to get access to a server (or website) that’s restricted access to some regions. The name is also used for software that will let you access your own computer from any other computer. Ex: Anydesk.
Why is the term useful here then ?
PenTesting: because it is a common term thrown around VM forums.
Also, it is a term widely used by penn testers especially those running Virtual machines when they want to simulate a VPN or any other type of network for security testing which at the end all have the same goal: test the weak and strong points in a before launch network.
VT: terminology used by Intel to describe the technology embedded in their processors to run VMs. They’re just special instructions (similar to hyper threading) which makes the processor more efficient when running VMs. Virtually every CPU post 2006 will come with VT instructions set but if you’re buying or using old hardware you found on a basement, you can check whether it is “VT” capable or not in this Intel website Page.
Hyper-V: A native hypervisor natively installed in most modern machines. If it’s activated, no VM software will be able to run. Thus it must be de-activated (it usually is by default) before you run VM software.
If you find out you’re getting errors when launching VM software, it is probably due to Hyper-V being enabled. When it is enabled, hyper-V will occupy a space called “VT-x” and this is the space that Virtualizatyion software use to run. You can read more about it here.
This is because if VT-x is enabled (whatever that is), hyper V will “occupy” VT-x.
2. Virtualization FAQ
Now that you’ve got a good grasp of the jagon used in virtualization discussions, let’s clear a few misconceptions:
A) Is a core or thread limited to run one Virtal machine?
If you do some research, you’ll find out most people will claim that each VM needs one FREE core to be able to run thus you cannot use that same core to run another VM.
This is not true…
When assining cores to VMs, hypervisors do not restrict one VM to one core or even one thread. CPU resources are balanced across all the virtual machines running. Now if you do ‘dedicate’ one core to one virtual machine, then you’ll get the best performance (in terms of processing speed) out of that VM, so ideally if you’re running some moderately hardware demanding task on each VM you want one core or one thread per VM.
But say for penn testing purposes, most VMs just sit there in iddle with a few scripts running in the background and thus they will run fast even if a core is not reserved for a single VM.
Q: Will assigning to many cores to a VM slow down performance?
Most likely it will but it depends on the software and what version of the software you’re talking about. Recent updates and version will handle it better.
Why did it happen? or why does it happen?
The more CPUs you assign to a guest (or VM), the more overhead there will be, more overheads means more time reading and processing data thus the longer it takes to process resources for a VM. You can avoid this problem by making sure you don’t add more cores to a guest than you think you will need, more cores won’t necessarily make it run ‘faster’. Your VM software will automatically assign the number of cores more efficiently without compromising processing speed.
Q: is it wise to buy the laptop with the best and latest hardware if I want to run many many VMs?
As you’ll see soon (in the last section) this isn’t true, if you do this you might be wasting too many resources on the GPU rather than RAM for example.
See, as i’ve said several times throughout this post, it’ll be very rare for you to be bottlenecked by CPU power as most CPUs (below 1000 dollars) on laptops will have 8 cores (the maximum amount as of 2023) and thus it’ll be down to how much RAM that laptop supports that will dictate how many virtual machines you can run simultaneously. After you max out on RAM & # Cores, you don’t want to maximize GPU power because that’s pretty much USELESS to run VMs and which is unfortunately what’s being ‘maxed out’ on laptops after CPU by manufacturers. You want to maximize clock speed and then storage instead.
Here’s the full hierarchy:
CPU Cores > RAM > clock speed > Storage in that order.
Q: Is old hardware better for Virtualization?
You may have heard this somewhere and the reason is some people back then used to say that slightly older hardware will more than likely have the right set of drivers to run Linux with zero issues.
But today, in 2023, Linux distros has been updated left and right and constantly doing so thus most linux distros will now have the right set of drivers for most commodity machines. Linux is still Open Source and new revisions, updates are coming out every week.
So don’t be afraid of buying the latest 12th generation Intel Core CPU or the 6th generation Ryzen Chips, most distros will fully support laptops and computers with this hardware by mid-2023.
Q: Is Intel hardware better for Virtualization?
It was in the past but now both AMD & Intel have the same efficienty when running Virtual machines as similar technologies have been implemented in both brands to run VMs better.
You should only pick Intel however if you’re on a budget as they may have a significant advantage when running VMs (due to the Vt-T technology being better implemented on older chips than the AMD counterparts at the time).
3. Virtualization User Guide
This section will briefly talk about the activities and hardware you’ll need depending on the type of user you are. You can call it a complete wrap up of this post, I will talk about more hardware details in the last section but this may be all you need to read if you are not too adept with computer hardware.
If you’re in college or in an institution taking classes say for the IT field then you don’t need any special machine for the kind of VM work you’ll go through. Although you will run a few VMs for some classes, there’s no way you’ll be running dozens of VMs even if you take classes on Cybersecurity. Thus a commodity machine like a 350 dollar laptop made within the past few years (ideally with an 11th or 12th gen CPU) that has 8GB RAM will be all you need.
If you’re a programmar and you’ve suddenly been told you need to work in the software testing department of your company then you ALSO don’t need to worry much about hardware to test software on different Operating Systems plataforms through Virtual Machines. 8GB RAM + A modern CPU will let you test software with zero lag (unless we’re talking about game development or graphically intensive software).
You don’t even need to worry about hardware compatibility issues as most VM software can run OSX, Linux, Chrome OS and Windows on most laptops.
I have a whole separate post on this topic here best laptop for IT Professional because it isn’t as simple as recommending this or that laptop. It really depends on what you’re working within the IT business.
For for those IT people that want to run several VMs, for like, a lab that integrates Cisco Firewalls,routers, switches with ESXi hosts you probably want to read the last section (hardware for virtualization) as you will need as much hardware goodness as you can get out of a laptop but to make it short and sweet most will be fine with 32GB RAM and an 6-8 core CPU.
Pen-Testing & Ethical Hacking
Most pen testers will at some point have to simulate large nested networks and they usually hold several dozens of VMs (in order to simulate a real world network). In this scenario, you’ll need to learn as much as possible about hardware for virtualization, thus it is almost a requirement to read the last section. I would in this scenario advice to buy a desktop as they are all around upgradeable.
Your CPU does not have too many cores? Change it. Need more RAM? Add more. This isn’t the case for laptops !
Buying the latest CPU generation is a good idea…
Newer CPUs have the advantage of being more and more optimized to simultaneously run a large number of VMs with several different operating systems more effciently.
Take as an example, running several Windows 10 VMs and a Kali VM. The Windows VMs are basically internal services while the Kali VM will act as a responder for poison requests. This simulation will be slightly faster with newer generation CPU as the instructions may be slightly more and more complex for older generations and the older you go, the higher the chances these executions will be cut off completely.
Another reason to max out on hardware resources…
Is to simulate a very realistic network (as the one found on companies) which will consist of a large number of VMs in order to test vulnerability points in it.
- Making sure you get a laptop or motherboard (in the case of desktops) that supports RAM upgrades up to 32 or even 64.
- A very spacious SSD (PCIe NVMe) if desktop as laptops are usually equipped with PCIe NVMe anyways.
- The largest number of cores you can afford. Right now we have the 12th generation CPUs which work WONDERS for virtualization as the E-cores (additional cores) can also be used to run VMs (they’re equivalent to 6th gen Intel Core CPUs). Although Ryzen and Xeon will work as well depending on which one you can afford .
- Probably wise to make sure your WiFi Card has the latest protocol ( 802.11ax) which is marketed as WiFi 6 as this allows you back-ward compatibility running scripts with older protocols which you want to do as ‘sniffing’ in network traffic comes in all different forms.
- It is best to pick brands (and if possible) models that are more compatible with Kali Linux (Dell XPS or Lenovo ThinkPads come to mind) for these kind of tests.
- A dedicated GPU, may come in handy to test scripts that make use of parallel processing to break in network security.
4. Hardware For Virtualization
Q: Which Processor is best for Virtualization ?
The CPU with more cores will always be the best one for virtualization. Even a much lower-clocked and older CPU will be better than a modern 2-core CPU even if you’re running only one virtual machine as it is likely you’ll also be multitasking while doing so .
In an ideal world (unlimited budget) you would want to assign one core to each logical machine. All you can do for now (at least on laptops) is assign one thread to each VM and if running more than 15 VMs and you have maxed out # cores you can afford, then the next step would be (after maxing out RAM) to add more clock speed.
Intel vs AMD for virtualization: Intel VT, Hyper V, AMD V
These are the two names for the technology on each CPU brand that makes virtualization more efficient. They both work just as well.
Note that netbooks (10-11 inch laptops), laptops with Celeron, Pentium , Atom or any other ‘mobile-friendly’ CPU may not have these features (VT-x, AMD-V, Intel Hyper V) thus they must be avoided even if you want to run 1 virtual machine.
If you’re building a desktop and you’re browsing around eBay for older (thus much cheaper) hardware be sure to double check (through intel’s website or just the google search bar) they support:
- Intel Vt, Hyper V, AMD V: Names for the Virtualization technology for both Intel and AMD
- x86 or x64 plataforms: This means the CPU can run 86 and 64 bit systems (depending on the OS you want to virtualize)
Most modern CPUs will have all of that, it’s only a concern for much much older CPUs. Note that these features may have been disabled during the manufacturing process and you may have to manually go into the “BIOS/UEFI” settings to enable these.
Everybody knows what HyperThreading is, if you don’t please check my posts on the side bar for the basics.
It’s basically the programming paradigm responsible in splitting a “CORE” into two “cores”, the resultant cores are obviously “virtual cores” the same way a hypervisor fools the operating system there is a new computer within a computer, hyperthreading fools the system to think there are “TWO cores” instead of one.
Overall this multiplies the number of cores by two. Thus if you have a dual core CPU, you’ll have 4 virtual cores (also known as threads). You can use 1 thread for the hypervisor (host) and the other 3 to run 3VMs.
Now, you don’t have to check whether the CPU you’re buying or your laptop supports hyperthreading. All CPUs released after 2010 will 100% have hyperthreading (even the celeron and pentium CPUs). This is only an issue for older CPUs and I’ve mentioned here for information purposes.
12th generation – Alder Lake – E cores & P cores
The only exception to the hyperthreading feature being available in all modern CPUs are the 12th generation Intel CPUs. It doesn’t necessarily reduce the number of cores or the number of threads but I just want you to know that a 12th generation CPU will give you the same # of cores as its 11th generation counterpart.
Now although there are two types of cores “E-cores” and “P-cores” and they make a total of 12, hyperthreading is only available on the “P-cores), thus despite having 12 cores, when hyperthreading is enabled, it will give you a total of 16 threads. The same amount of threads an 8-core CPU like the Ryzen 6700H gives you.
#Clock Speed = more VMs
Lastly, after you’ve found a bunch of laptops say all with 32 or 64GB and 16 threads, the next thing you can do to make sure MORE VMs can be run without lag or speed up the processing speed on each VM is to pick the CPU with the highest clock speed.
This may not be an obvious concept to grasp but if you look at the figure above, a virtual machines executions can be lined up in a queue where other virtual machines are also waiting.
A CPU (core or thread) can process each execution from every virtual machine if they’re all put in a queue as shown above, thus the faster the clock speed of said core , the smoother the executions will be and this translates to running more virtual machines with no waiting times (lag).
I remember running 4VMs on a gaming laptop that had the latest core i7 CPU and 16GB in 2017 (the usual set up of the most expensive gaming laptops) then using the task manager to see how much resources were being used and then found out the CPU was BARELY above 20% while RAM was choking near 80%, in other words, almost entirely being used.
That doesn’t mean each VM will take 3GB that depends on how much RAM you assign to it and how much RAM your OS and software use. On average Windows 10 or 11 will take 3.5GB to run just as fast on a separate machine but for testing purposes you should be okay with 2GB and Linux Distros taken even less (500MB in some cases).
Anyways, the point here is that the more RAM you have (even for a low number of VMs) the better.
8GB vs 16GB vs 32GB
Virtually all laptops above 400 dollars will come with 8GB out of the box and as long as they’re ultra thin 2-1 notebooks, they can be upgradeable to 16GB.
Once you step into 600-700 and above territory, you will get laptops that can have RAM upgraded to 32GB. If it’s got a gaming GPU, it can certainly be upgraded to 32GB, if it doesn’t you must do the research as it may not be upgradeable to 32GB (just 16GB).
Take for example, the lenovo thinkpads: Only the T & P series can be upgraded to 32GB RAM with some of the high-end T series being upgradeable to 64GB.
Lenovo Thinkpads with 32GB on-board: You’re going to find quite a lot of overpriced thinkpads that have 32GB. Just remember that doesn’t mean you can upgrade them to 64GB RAM, most of the time, it’s just a model that has been upgraded all the way to 32GB before being sold.
At the end of the day, there’s no way to know whether a laptop can be upgraded to 32 or 64GB unless it is specified by the manufacturer or unless a review specifically says so (has opened up the machine to check).
Most laptops have at least this much and this will be good for most people that only need to run up to 2 VMs at the same time (IT support, It administrators, programmers, software testing).
An ethical hacker or a someone getting started with pen-testing will also do fine with this much at least in the beginning as the basic starting set up only requires you to Kali Linux + Windows.
You’ll need at least 16GB RAM to run 4 or more VMs 4 VMs.
And as long as you assign 1GB (Linux VMs) you can +10 VMs.
I would ideally choose this much for both IT purposes & Penn testing. Here’s the typical set up for a common IT lab:
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.
32GB RAM becomes bullet proof for IT purpoes. As for penn testing and ethical hacking, you may need to upgrade your laptop to 64GB in some cases.
After you maxed out on RAM , # Cores and clock speed. You can speed up each Virtual Machine and maybe even squeeze a few more virtual machines through a high speed storage device.
Solid State Drive vs Hard Disk Drive
Virtually every modern computer and laptop has now a solid state drive, there may be any outliers with a HDD but those are usually on either older models or very cheap laptops (under 300 dollars).
That’s the first: make sure your laptop has an SSD. An SSD is up to x17 faster than HDDs!
Second Storage Drive Upgrade:
Most modern laptops also give you the option to add a second storage drive either through the M.2 slot or the 2.5” Bay.
If you want to maximize reading / writing speed , you want to do the upgrade through the M.2 slot because this is the slot where you can fit in a PCIE NVMe SSD as opposed to a SATA III SSD, where the former is x5 times faster.
Increase Storage Performance
Assuming you’ve done the upgrade, you can speed up performance by installing the Hypervisor (VM software) on the primary SSD (the SSD where the operating system’s instaleld) and use the secondary SSD to run VMs.
In the off chance, you get a laptop that can support up to 3 SSDs, the more SSDs you have the more faster your virtual machines will be if you can evenly distribute their locations.
Ex: hypervisor on primary, 3 VMs on the second and 3VMs on the third for a total of 6 VMs.
You can’t or rather you shouldn’t use an external storage as the host of additional Virtual machine data. However, you can use external storages to store all your VM data and hundreds of additional ISOs to free up enough space in the built-in SSDs on your laptop (as a good rule of thumb having an SSD used at 75% of its capacity will slow down performance slightly).
A much cheaper option would be the Adata HD720 line ($0.065/GB) . This is the cheapest brand that will last outlast any other brand. It is rugged, waterproof, drop proof, dust proof you name it!
Storage for Servers and VMs
Ex: A 3 node cluster (requires at least 5 VMs) with just one storage drive will cause I / O issues slowing down performance significantly.
Solution: Using a RAID set up (or 3 storage drives)…
A Raid set up is basically having a bunch of storage devices installed within the same device. Likewise, you install the host OS on a single SSD and use the remaining SSDs to run all Virtual machines.
RAID Sets ups – Laptops
Raid set ups are rarely available on laptops. You’ll only found them on workstation laptop and only the expensive ones. It is rare for someone to build a server on a laptop but if you MUST do so, you can get either a workstation or try to use your current laptop’s CD/DVD drive port to install an additional storage. This is quite technical so only a comptuer technician, actually only a few, can pull this off.
In the worst case scenario, you can use USB-3 storage drives as additional storage (assuming of course you run out of space).
Dedicated GPUs will not speed up performance on each virtual machine nor let you run more virtual machines. If you don’t know the difference between Dedicated and integrated graphics please check my post here.
Dedicated graphics (as opposed to integrated which come by default) have something like ‘extra cores’ which work the same way as CPU cores, however, they are only good either for graphical executions and simpler executions thus they are not useful for running virtual machines.
On the other hand…
If you’re running GPU sessions (apps & scripts) or parallel processing applications on your host machine (say for Media development or 3D applications) then they will definitely come in handy.
Now , unfortunately, most high-end computers that come with the latest CPU with the highest number of cores AND 32-64GB RAM will most certainly (with a few exceptions) come with a dedicated GPU so sometimes you can’t avoid them.
Laptop vs Desktop
When does one become a better choice over the other?
Most of the time, if you’re setting up a LAB / nested networks and running dozens of VMs on a single machine, it’s probably going to be a desktop.
- Way easier to upgrade RAM
- Way more storage
- Way better CPU clock speed (though # cores usually remains the same as laptops)
- RAID system support
- Can handle more RAM (Up to 128GB on average)
- Much much cheaper than laptops (with the same hardware).
- Desktops can be a lot louder.
- Cannot bring them to a trip, thus it is impossible to have a mobile lab unless you use a VPN (AnyDesk for ex).
- More hardware = more time spent doing maintance.
- Can be expensive to upgrade.
Only has two advantages over desktops:
- Cheaper to upgrade
- Mobile Lab
but several disadvantages:
- It’s easy to run out of disk space with dozens of VMs.
- Cannot run stuff in the background if you’re running dozens of VMs (due to lack of RAM or CPU resources).
- It may not be upgradeable.
If you have any suggestions, questions or recommendations. Please leave a comment below.