Tuesday, February 18, 2025
Laptops

4 Best Laptops For Virtualization 2025 (10-50 VMs ATSM)

A laptop optimized for virtualization is typically required in one of the following four scenarios:

  1. To run software that’s limited to one Operating System
  2. Developing and testing software for different OSs: Linux , Windows, OSX, Chrome OS, etc.
  3. Penn-testing.
  4. Labs for IT.

For the first scenario:

You only need a single virtual machine—typically a Linux distro running on a Windows hypervisor (a fancy term for VM software). Any laptop with 8GB of RAM should be sufficient for this task.

Since most laptops meet these requirements, you don’t need to spend much time researching specs. Even a $300 laptop can handle one VM smoothly without any issues.

For the second scenario:

You’ll likely need to run 3–4 virtual machines (which may or may not all be Windows-based). For this, the RAM requirement increases to 16GB or more to ensure smooth performance.

For the third and fourth instance…

You will likely need to run anywhere from 2 to 50 VMs .

When you get started, Penn-testing will usually require you to run 2 as well (Kali Linux +VM) when getting started.

Running Kali Linux VM requires less RAM than a Windows VM. The latter may require more than 12GB RAM especially for software testing.

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 are my recommendations for hardware suited for virtualization.

I’ll keep it brief here, but you can check the last section for all the details (including benchmarks). Also, if you’re not familiar with computer jargon, take a look at my posts in the sidebar.

Note that you can skip this section and go straight to the best laptops for virtualization if that’s what you’re looking for!

RAM

As of 2025,  laptop CPUs have at least 4 cores (enough for 7 VMs ) 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 (without turning on and off a VM).
16GB-32GB: good enough for Virtual Labs/ Penn Testing simulations. You’ll start with 2 VMs (Linux + Win) but will later on run a dozen (the extra RAM then becomes future proof). 
+64GB: Only useful for very large lab set ups . Only SOME gaming laptops and workstation laptops support this much.

CPU

Low #of VMs: Any modern CPU will be fine (2-3VMs).
High # of VMs: Pick the CPU with the highest # of threads you can afford. 

As a rule, you run x2 VMs / Thread efficiently. If you maxed out on # Threads, then more clock speed will fit in more VMs per thread

Note: Doesn’t matter what brand you get, both AMD & Intel support virtualization (Intel VT or AMD V). 

Storage

If you are bottlenecked due to lack of RAM from running too many VMs, your PC will use the storage device as ‘RAM’. Thus it’s important to pick the fastest storage (SSD in this case since theyre universal on laptops).  PCIe NVme 5.0 are the fastest on laptops today but are only found on very expensive rigs.

GPU

Graphics card do not increase VM performance nor help you run more VMs.

Graphics cards do not improve VM performance. However, if you’re working with penetration testing labs that involve GPU-intensive tasks—such as password cracking with Hashcat or accelerating brute-force attacks—then yes. However, if your work does not involve these GPU-dependent tasks, a dGPU is unnecessary for virtualization and general pentesting.

However, if running Penn Testin Labs (with several VMs). For example, to simulate attacks, you will make good use of GPU cores. If learning ethical hacking, you’ll also found the GPU cores useful (I discussed it in detail in my “best laptop for hacking” post in more detail. If you’re not doing any of these, you don’t need dedicated graphics.


[Tip] TL;DR: For running a large number of VMs, an 8–16 core CPU with high RAM support is required. Most modern laptops are upgradeable to 32GB of RAM. Bonus: DDR5 improves VM performance. [/Tip]

This excludes laptops priced below $350, as they typically feature a Core i3 or Ryzen 3, which are limited to 4–6 cores. However, laptops under $300 can still handle a single VM, provided they have at least 8GB of RAM.

For running a large number of VMs, compact laptops, 2-in-1 laptops, and touchscreen laptops are not recommended because they generally have non-upgradable 4–8GB RAM and low-performance CPUs designed for temperature control rather than intensive workloads

Top 4 Best Laptops for Virtualization

Laptops aren’t just about hardware. Since these devices will be subjected to high loads and serve as your primary work tool, it’s reasonable to require:

  • Excellent build quality
  • Reliable customer support
  • Great cooling systems (running dozens of VMs can significantly raise temperatures)
  • Easy upgradeability (only a few models support easy upgrades, and even fewer allow 48–64GB of RAM)

Before we dive into the best laptops for virtualization, here are a few important points:

  • Lenovo laptops typically offer all the quality features needed at a reasonable price, often excluding a dedicated GPU—which isn’t necessary in most cases.
  • ThinkPads, in particular, are well-suited for virtualization. They are not only durable but also among the easiest laptops to upgrade in terms of RAM and storage.
  • Lenovo’s CPUs generally offer high thread counts while skipping unnecessary components like fancy displays and dedicated GPUs.

Now, let’s start with the most popular and ideal laptop for virtualization (~$30), followed by cheaper options from other brands, and finally, a budget option for one or two VMs—such as running a single Linux distro.


1. Lenovo ThinkPad T14 Gen 3 

Best Lenovo Laptop For Virtualization

 

   Intel Core Ultra 7 155H 4P Cores + 8E cores (12 Cores/ 16 Threads) 3.7-5GHz.

  32GB RAM DDR5 Up to 64GB.

  NVIDIA RTX 500  Ada 4GB GDDR6 VRAM

  1TB PCIe NVMe (Up to 2TB M2. SSD)

  14.5” 3k IPS  300 nits 120Hz

  2.89 lbs

  6 hours

    No DVD Drive

  Windows 11 Pro

  WiFi 6

  Backlit Keyboard & Fingerprint reader

   x2 3.2 USB / x2 Thunderbolt 4 / x1 USB 4.0, 1x HDMI, 1x RJ-45, 1x SIM Card Slot

If you research extensively for several days, you’ll come to the realization that the best laptops for virtualization are either:

A) Gaming laptops Because they have high RAM and late-generation CPUs.
B) Laptops tailored for the IT field – These also come with a lot of RAM.

The issue with A (gaming laptops) is that they often include a dedicated graphics card, which significantly increases the price (though not always—#3 is an exception). Most people won’t need a dedicated GPU for virtualization, as discussed in the preceding section.

The issue with B (business laptops) is that, while they have powerful and modern CPUs—enough for most VM users running a dozen virtual machines—they typically lack the highest-end processors, such as the Ryzen 9 or Core i9.

I assume most readers of this post fall somewhere between running 2–3 VMs and 50 VMs.

The best option within Group B is almost always a Lenovo ThinkPad, thanks to its excellent performance-to-price ratio.

  Hardware

Now, here’s the kicker: as of early 2025, this Lenovo ThinkPad model not only supports high RAM capacity and features a 13th-gen CPU, but it also includes a dedicated graphics card at virtually no additional cost.

Let’s break down each component individually.

13th Intel i7  1360P:

CPU P-cores E-cores Cores Threads Virtual Machines (Max) E Speed P Speed
Core Ultra 7 155H 6 10 16 22 42 2.5-3.9GHz 4.8GHz

This is the latest generation of Intel CPUs. The 14th-gen “low-voltage” CPUs do not exist in laptops—this would essentially be the “14th-gen” Core i7 of 2025.

Now, the concept of E-cores (Efficiency cores) and P-cores (Performance cores) may seem a bit confusing, but the key metric to focus on is the number of threads.

Although the CPU has 16 cores, not all of them support two threads per core. The total number of threads is 22, meaning the system should efficiently handle up to 21 VMs at maximum performance. This is because:

  • E-cores provide only one thread per core (no hyperthreading), resulting in 10 threads.
  • P-cores provide two threads per core, totaling 12 threads.
  • This sums up to 22 threads in total.

In theory, this setup should allow you to run up to 42 VMs, and with a high RAM capacity (48GB–64GB, depending on the model), you can allocate 1–2GB of RAM per VM.

Feel free to browse other ThinkPad models—including more portable options, budget-friendly variants, and highly durable T-series models.

Performance Considerations

Clock speeds on ultra CPUs are only slightly higher than those of 12th- and 13th-gen CPUs. The key difference lies in the additional E-cores, which offload background tasks from the P-cores, allowing them to focus on high-performance tasks.

Your hypervisor or VM software will automatically distribute VMs based on the available cores and workload. However, if needed, you can manually assign VMs to run on either P-cores or E-cores, depending on performance requirements.

Note: Some VM software may only start utilizing E-cores once a certain number of threads/cores are assigned to a single VM.

. The solution is here. Basically just make sure windows is running on performance mode.

RAM set up : 16GB Soldered + 16GB added

RAM Slot 1 Slot 2 Total Max Windows VMs Linux VMs(1GB)
DDR5 16GB 16GB 32GB 48GB ~11(7) ~40

This laptop supports up to 48GB of RAM. According to Lenovo’s website, it comes with 32GB of DDR5 RAM, with 16GB soldered and an additional slot supporting up to 16GB DDR5 RAM.

Soldered RAM means that the 16GB module cannot be removed, so you can only expand the memory by adding another RAM stick. There are variations of this model that support up to 64GB, but they must be purchased directly from Lenovo’s official website, and prices may be significantly higher.

If you plan to run dozens of VMs for simulation purposes, I suggest starting with 32GB of RAM, evaluating performance, and then adding another 16GB if needed. For most VM users, 48GB should be more than sufficient—with the exception of certain IT specialization fields or penetration testing, where 64GB or even a desktop might be necessary.

Also, note that this laptop uses DDR5 RAM, which is the latest and fastest memory standard. This translates to significantly more efficient virtual machines, as data transfer to the CPU is much faster

GPU: RTX 500

Virtual machines do not benefit from a dedicated GPU unless you plan to run software that requires extensive parallel processing or applications with 3D graphics (e.g., software testing on a VM). In those cases, a dedicated GPU can be useful.

That said, don’t be mistaken—while this is a workstation GPU, its performance is comparable to an RTX 4050. This means it is suitable for small 3D models and 1080p gaming. However, for software testing and parallel processing, it will perform just as well as higher-tier GPUs.

Other ThinkPads

If you browse Lenovo’s website or Amazon, you may find cheaper models featuring 12th-generation Intel CPUs or Ryzen CPUs. While most of these laptops support at least 32GB of RAM, only a few support 48GB, and even fewer support 64GB.

Which ThinkPad Should You Choose?

Your choice ultimately depends on how many VMs you need to run and what workloads you’ll be running on each.

In more demanding use cases, such as:

  • Penetration testing, where each VM is under a heavy load for attack simulations.
  • IT infrastructure, such as integrating Cisco firewalls, switches, and ESXi hosts, which require dozens of VMs.

For most users, a 48GB model should be sufficient, but if you need 64GB RAM and a dedicated GPU, check out the laptop below or laptop #3 on the list, which is a gaming laptop with 64GB of RAM.

A final option would be a workstation GPU, but these are extremely expensive primarily because of their high-end GPU, which is unnecessary for virtually all VM users, even in extreme cases like those mentioned above.

Lenovo Thinkpad T14 Gen 3
PROS CONS
  • Latest Ultra Intel i7 CPU
  • 22 Threads
  • Up to 64GB (other models)
  • Very Lightweight 
  • Ideal for dozens of VMs
  • Modern workstation GPU
  • GPU may be unnecessary
  • Low battery performance (When GPU is on)
  • 16GB is Soldered thus RAM limited to 48GB (this model) 

2. ASUS ROG Strix G16

Best Gaming Laptop For Virtualization

  Intel Intel Core i7-13650HX (6 E-cores , 8-P cores) 20 Threads 3.6GHz-4.9GHz

  64GB DDR5 RAM

  NVIDIA GeForce RTX 4060 8GB 140W MUX

  2TB PCIe NVMe

  165Hz 16” FHD

  5.51 lbs

  1.5 hours under high loads, 4 hours otherwise

  NO

  1 x USB Type-C (10Gbps, DisplayPort 1.4 + 140W Power Delivery), 1 x Audio Combo Jack, 1 x USB Type-A 3.2 Gen1 (5Gbps), 1 x E-Shutter Button, 1 x DC-in, 1 x RJ45, 2 x USB Type-A 3.2 Gen2 (10Gbps), 1 x HDMI 2.1; Wi-Fi 6 and Bluetooth 5.2

If you need a high-performance CPU along with ample RAM, your next best option is a gaming laptop. However, for maximum hardware performance when running a very large number of VMs, a desktop is the obvious choice (more on this in the last section).

Now, let’s take a look at what a high-end gaming laptop has to offer for virtualization.

CPU: Core i7 13700H & Other high end CPUs.

CPU P-cores E-cores Cores Threads Virtual Machines (Max) E Speed P Speed
i7 13700H 6 8 14 20 40 3.6GHz 4.9GHz

By high-end CPUs, I mean Ryzen 9, Core i9, Ryzen 7, and workstation processors like the infamous Xeon CPUs. These CPUs feature the highest clock speeds and the most efficient core/thread configurations—the latter being particularly crucial.

For example, a Core i7-13700H has its first core running at 5GHz with Turbo Boost, while the remaining P-cores operate at 4.7GHz, which is very close to the advertised single-core clock speed.

Although E-cores (Efficiency cores) run at much lower clock speeds, they are still fast enough to efficiently handle multiple VMs, making them useful for running regular office software within each VM.

The same principle applies to Ryzen 9 and Core i9 processors, which distribute clock speeds more evenly across all cores. Unlike the Core i7-13700H, these high-end CPUs have significantly higher base and boost clock speeds, leading to better multi-core performance—with clock speeds across cores remaining more consistent and closely aligned

What about Ryzen CPUs? Better for Virtualization?

The Ryzen 7, Ryzen 9, or any latest-generation Ryzen CPU will have equal clock speeds across all cores. This results in evenly distributed CPU performance across VMs, which can be beneficial for testing different software versions under identical clock conditions.

Overall, for most use cases, a similarly fast Ryzen CPU (compared to an Intel Core CPU) will perform better for virtualization due to:

  • Superior multi-core performance (providing more resources per VM).
  • Fully functional hyperthreading with no known bugs on Ryzen CPUs.
  • More cores available, especially on desktop CPUs.
  • Lower cost for the same number of cores compared to Intel laptops.

So, if you find a Ryzen 7 CPU with similar specs at a cheaper price, go for it—unless you specifically need the higher clock speeds of 13th-gen Intel CPUs.

RAM: 64GB DDR5 RAM

RAM Slot 1 Slot 2 Total Max Windows VMs Linux VMs (1GB)
DDR5 32GB 32GB 64GB 64GB ~15 ~60

Having the latest 7th-gen Ryzen 7 or 13th-gen Core i7 also means support for the fastest available RAM. The Ryzen 7 supports memory speeds of up to 6400MT/s, while the Core i7 supports up to 5200MHz.

With 64GB of RAM and a Core i7, you could, in theory, run four VMs per thread (16 cores × 2 threads = 32 VMs) while allocating 2GB of RAM per VM. While 2GB isn’t sufficient for Windows 10 or 11, you could still run 32 Linux VMs.

For the same number of Windows VMs, you would need 128GB of RAM, as 4GB is the minimum for Windows. Laptops with 128GB RAM are typically found in high-end workstation models, which can cost anywhere from $3,000 to $4,000!

GPU: 4060RTX 6GB vRAM

Unfortunately, it’s very rare to find a gaming laptop without a dedicated GPU—after all, that’s why they’re called gaming laptops.

However, the inclusion of a dedicated GPU does not significantly increase the price. This model is still priced around $1,300, compared to $2,000–$3,000 for a workstation laptop with the same CPU and DDR5 RAM support.

If you’re running 3D software, this GPU will be overkill. However, if you’re also a gamer, this works out nicely—the RTX 4060 in this laptop runs at 115W, making it faster than the RTX 3060 and offering performance on par with or even exceeding the RTX 3070!

ASUS   ROG Strix Scar 16
PROS CONS
  • Latest 13th gen Core i7 CPU
  • 20 Threads (~40 VMs  )
  • 64GB RAM already upgraded
  • Latest RAM generation (DDR5)
  • 2TB SSD out of the box
  • large FHD display
  • Very Heavy
  • Very Low battery
  • Unncesessary GPU 

3. Lenovo ThinkPad E16 Gen 1

Budget Lenovo Laptop For Virtualization

  Intel i5-1335U 2P cores + 8E Cores (12 threads) 3.4-4.6GHz  

  16GB RAM DDR4 (Up to 40GB)

  Intel Iris Xe graphics

  512GB PCIe NVMe SSD

  15.6″ Full HD IPS Anti-glare

  4 lbs

  10 hours

  Windows 10 Pro 

  x1 USB 2.0 x 1 HDMI x1 Thunderbolt 4 (Type-C) x1  USB 3.2 Type-C

Okay, so far we’ve covered the two most powerful—and consequently, most expensive—options. The laptops mentioned above are designed for extreme use cases, such as running 30+ VMs for labs and simulations.

Now, let’s look at a more affordable option priced around $800. This model offers plenty of hardware to get you started in any field that requires multiple VMs with moderate workloads on each.

Lenovo ThinkPad E Series

Within the Lenovo ThinkPad lineup, there are three main series: E, P, and T.

  • The P-series and T-series tend to be more expensive, but they offer better durability, superior build quality, and faster CPUs with higher RAM support.
  • The E-series is still high-quality, but it lacks the ultra-rugged design of the T-series.

That said, the E-series still offers build quality comparable to most premium laptops—the T/P-series are simply a step above in terms of durability and performance.

CPU: i5 1335U (10 Cores)

CPU P-cores E-cores Cores Threads Virtual Machines (Max) E Speed P Speed
i5 1335U 6 8 14 20 40 3.6GHz 4.9GHz

These laptops typically come with a U-series (low-voltage) CPU, meaning they consume less power but are also restricted to lower clock speeds—one of the key reasons for their significantly lower price.

When it comes to virtualization, however, high clock speeds are not essential unless you’re running very demanding workloads on VMs. While U-series CPUs are generally weaker than P-series or H-series CPUs, they can still reach 4.7GHz, which is considered high even by today’s standards.

Of course, this clock speed applies only to the P-cores, which are reduced to just two in a Core i5 U-series CPU. Meanwhile, the eight E-cores run at 3.4GHz.

Thread Distribution:

  • Total: 12 threads
    • 2 P-cores → 4 threads
    • 8 E-cores → 8 threads

This setup allows you to efficiently run 11 VMs (excluding the host operating system), with four VMs handling high-load computations while the remaining seven support a Windows OS running medium-load tasks, such as everyday applications

RAM: 16GB DDR4 (Out of 40GB. RAM)

RAM Slot 1 Slot 2 Total Max Windows VMs Linux VMs(1GB)
DDR5 16GB 16GB 32GB 48GB ~11(7) ~40

This E-series model, like most others, comes with one RAM module soldered to the motherboard (in this case, 8GB of RAM) along with an additional 8GB stick in the removable RAM slot, totaling 16GB of RAM.

Although the CPU (like all 13th-gen processors) fully supports DDR5 RAM, the manufacturer has chosen to use DDR4 for the soldered RAM module. This limits the RAM type and speed you can install in the removable slot.

In other words:

  • You cannot use DDR5 in the additional RAM slot.
  • You can only expand up to 40GB of DDR4 RAM (by replacing the removable 8GB stick with a 32GB DDR4 module).
  • Attempting to install DDR5 RAM will cause timing issues, and the system may not function properly or fail to boot entirely.

Virtualization Performance with 40GB RAM

With 40GB of RAM, you should be able to:

  • Run ~10 Windows VMs.
  • Run twice as many Linux VMs (~20 VMs) due to their lower RAM requirements.
  • Run multiple idle-mode VMs or VMs executing simple code, as these consume minimal RAM.

Thread Allocation for Virtual Machines

The CPU in this model provides:

  • 2 P-cores → 4 threads
  • 8 E-cores → 8 threads
  • Total: 12 threads

For virtualization, you could allocate:

  • 2 VMs per thread in idle mode, meaning 24 total VMs.
  • Subtract 2 threads (or one core) for the host OS, resulting in ~22 VMs.
  • Each VM can be assigned approximately 2GB of RAM.

Alternative Budget Options

If this laptop exceeds your budget and you don’t need to run this many VMs, but still want a Lenovo ThinkPad, Check out the THinkPad E15 and E16 series.

Lenovo Thinkpad E16 Gen 1
PROS CONS
  • Latest Core i5 CPU
  • Supports 40GB
  • 12 threads (~24 VMs)
  • Okayish Core Count
  • Slightly heavier
  • Expensive if high storage
  • x2 256GB if 512GB (Must replace one to upgrade storage)

4. HP 17.3 

Cheap Laptop for Virtualization

  Ryzen 3 7320U 4 cores / 8 Threads 

  8GB LPDDR5 RAM

  ‎Intel UHD Graphics

  128GB SSD

  15” FHD IPS

  3.9 lbs

  10 hours

    Wifi 6  

  Windows 11 S (Upgradeable to Windows 11 Home)

  x1 USB 2.0 x 1 HDMI x1 Thunderbolt 4 (Type-C) x1  USB 3.2 Type-C 

We’ll wrap things up with the cheapest and most common laptop for running one or two VMs—whether for Linux distros or software testing.

This is exactly what all beginners in virtualization need. By beginners, I mean those who only run one or two VMs, perhaps to execute packages in a different OS (like Linux) or to test software across multiple operating systems.

Recommended CPU: Ryzen 3 7320U

If you fall into this category, believe me—any modern (post-2020) laptop will have enough CPU power to support one or even two Linux distros running in the background smoothly.

With a budget under $500 ($350–$450), you’ll typically find laptops with either a Core i3 or a Ryzen 3 processor. It’s important to choose either:

  • A 12th or 13th-gen Intel Core i3
  • The latest 7th-gen Ryzen 3

Unfortunately, 13th-gen Intel Core i3 laptops are not currently available for under $500—you’ll typically find them priced at $600 or even $700.

However, 7th-gen Ryzen 3 CPUs are generally cheaper while offering the same or slightly better performance than a 13th-gen Core i3 for running VMs.

Why Ryzen 3 is Better for Virtualization at This Price Point

As explained earlier, Ryzen CPUs have cores that all run close to their advertised clock speeds, whereas Intel CPUs often have additional cores that operate at significantly lower speeds than their single-core turbo speed.

This means that with Ryzen CPUs:

  • More CPU power is available per VM.
  • Each VM can handle heavier workloads compared to an Intel Core i3 at the same price point.
CPU Cores Threads Virtual Machines (Max) Speed
R3 7320U 4 8 16-2(host)=14 3.6GHz

How Many VMs Can We Run?

With this Ryzen 3 processor, you have:

  • 4 cores × 2 threads per core = 8 total threads
  • A maximum of 14 VMs in idle mode (16 total, but 2 threads are reserved for the host OS)
  • 6 VMs running medium loads (with 2 threads reserved for the host)

However, RAM will be your main limitation.

RAM Allocation:

  • 8GB RAM (LPDDR5)
  • 1 Windows VM (4GB RAM)
  • 4–8 Linux VMs (each using 500MB–1GB of RAM)

DDR5 Advantage on Ryzen 3 (7th Gen) vs. Intel

One major advantage of 7th-generation Ryzen processors over their Intel counterparts is that they only support DDR5 RAM. That’s right—you won’t find DDR4 on a 7th-gen Ryzen CPU.

This is extremely beneficial for running VMs with heavy workloads because DDR5 has significantly higher data transfer speeds than DDR4. This means the CPU can process data much faster.

For example:

  • A Ryzen CPU running at 3.9GHz with DDR5 RAM will process data faster than an Intel CPU running at the same 3.9GHz with DDR4 RAM—simply due to memory bandwidth differences.

Upgradeable to 16GB RAM

Even with 8GB of RAM, you can:

  • Run a Linux distro on top of Windows
  • Run 2–3 Linux distros in the background
  • Run an additional Windows VM with 8GB of RAM

However, if you plan to run heavy data science algorithms or intensive data crunching, then upgrading to 16GB RAM will significantly improve performance.

For all other tasks, such as programming on a Linux distro using a Windows hypervisor, 8GB should be more than sufficient.

Acer Aspire 3
PROS CONS
  • Latest Ryzen 3 CPU
  • Better Multicore performance than Core i3
  • Long battery
  • Latest DDR5 RAM (Up to 16GB)
  • Heavy
  • Does not support 40-64GB
  • Low Storage

Q: What is the best MacBook For Virtualization ?

For Windows VMs

It depends on what OS you want to virtualize. If you want to run Windows Virtual Machines on a Mac, then you will need a MacBook with a x86 processor IF you want to run the x86 version of Windows. In other words, you need a MacBook with an Intel Chip.

However, if you don’t mind running the arm version of Windows, you can use any Mac.

The newer MacBooks run on the M1 & M2 chips which are developed by Apple and are not compatible for x86 operating systems but they are compatible with arm-based OS.

On the other hand, the older pre-2020 MacBooks can run Windows Virtual Machines. You just need to install a hypervisor software (fancy word for VM software) that has a Mac Version like VM Fusion.

For Linux or OSX (Apple) VMs

If you want to run more OSX or Linux VMs, then any of the MacBooks, whether it’s the older or newer versions will work. Just be sure to calculate how many VMs you’re going to run SIMULTANEOUSLY and according to that buy a MacBook with the appropiate RAM.

You CANNOT upgrade MacBook (you can but it’s extremely difficult) so you should buy a macBook with the size of RAM you think you’re going to need.

Ideally, to run medium loads or heavy code on each Linux/OSX VMs, you want to reserve 2GB RAM. Linux can actually take less (as low as 500MB).

Q: What about the M1 & M2 MacBooks, can they run virtual machines too? 

Yes, but like I mentioned because they’re not CPUs with the x86 architecture, they do not support Windows VMs.

You are limited to Linux & OSX VMs as the newer processors are arm-based CPUs (they are not supported by Windows and I hear no rumors of Windows 12 being any different).

Q: How many VMs can I run with each MacBook?

4GB MacBook Air (Old): 3-4 Linux VMs, 1 OSX VM. No Windows (RAM too low)
8GB MacBook Air(Old) or MacBook Pro (Old): one Windows VM, 6-8 Linux VMs, 3 OSX VMs.
16GB MacBook Pro (Old): 3 Windows VMs , 12-16 Linux VMs, 6 OSX VMs.

Basically it all comes down to RAM. Windows will take 4GB, OSX will take 2GB and Linux can take as low as 500MB.


How to Choose A Laptop For Virtualization

We’ll go  over all the computer jargon behind the Virtual Machines topics while at the same time talk about the kind of hardware you need . We’ll also how each  piece hardware contributes to the number of VMs you can run.

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 businessand you know the basic VM jargon, skip to the section  “Hardware Virtualization Specs”. 

1. VM Terminology

Components of VM mechanics. Image Credit: Michael Taschler

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. 

Kernelthe 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 10 cores (the maximum amount as of 2025) 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 2025, 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 13th generation Intel Core CPU or the 6th generation Ryzen Chips, most distros fully support this hardware now. 

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. 

Students

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.

Software testing

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. 

 IT professionals

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.

This means:

  • 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

CPU

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.

Hyperthreading

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 & 13th Intel CPUs – 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 or 13th generation CPU  will give you more or less the same # of threads as its 11th generation counterpart.

# Threads of the Core i7 1260P CPU as shown in Intel’s official page.

Why?

Now although there are two types of cores “E-cores” and “P-cores” so they seem to be more 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.

#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.

CPU resource control for virtual machines.

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).

RAM

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.

RAM is the main bottleneck for Virtualization. Hypervisors can easily distribute CPU resources across several VMs but RAM has to be partitioned and specifically assigned to single VM

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).

8GB RAM 

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. 

16GB RAM

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-64GB 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. 

DDR4 vs DDR5 

DDR5 is now avialable on 12th, 13th gen Intel Core CPUs found on laptops.

They are universal on laptops that have a 7th gen Ryzen CPUs because they do not support DDR4 anymore. 

DDR5 on average will operate at 1.5x faster data transfer speeds than DDR4, this means the addition of. DDR5 to an optimized laptop for Virtualization will boost VM performance significantly. 

But beware that NOT ALL 12th, 13th gen Intel Core CPUs offer DDR5, although they support that much RAM, if the manufacturer has used DDR4 on the soldered part, you are stuck with DDR4 because you cannot mix the two, it creates a sort of compatibility issues.

Storage

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.

External Storage

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).

GPU (Dedicated)

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?

Desktop

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. 

Advantages

  • 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).

Disadvantages

  • 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.

Laptops

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.

Comments?

If you have any suggestions, questions  or recommendations. Please leave a comment below.

Author Profile

Miguel Salas
Miguel Salas
I am physicist and electrical engineer. My knowledge in computer software and hardware stems for my years spent doing research in optics and photonics devices and running simulations through various programming languages. My goal was to work for the quantum computing research team at IBM but Im now working with Astrophysical Simulations through Python. Most of the science related posts are written by me, the rest have different authors but I edited the final versions to fit the site's format.

Miguel Salas

I am physicist and electrical engineer. My knowledge in computer software and hardware stems for my years spent doing research in optics and photonics devices and running simulations through various programming languages. My goal was to work for the quantum computing research team at IBM but Im now working with Astrophysical Simulations through Python. Most of the science related posts are written by me, the rest have different authors but I edited the final versions to fit the site's format.

3 thoughts on “4 Best Laptops For Virtualization 2025 (10-50 VMs ATSM)

  • Flumazenil

    Have you ever considered about adding a little bit more than just your articles? I mean, what you say is fundamental and all. However think of if you added some great visuals or video clips to give your posts more, “pop”! Your content is excellent but with pics and videos, this site could undeniably be one of the best in its field. Great blog!

    Reply
    • lol its two years later but thanks I will keep your suggestion in mind especially now that google is killing blogs with the new algorithm even though the content is great I need to do something about it.

      Reply
    • I’ve tried adding diagrams now and will soon try to add videos. Thanks for the suggestion I really need to change the site’s structure it seems google does not like it because I have lost a lot of traffic since september 2023.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *