If you are following along with our Build your own Homelab series, you will have a quite a few containers and/or VM’s up and running in your Proxmox machine. Many of them will have been created with the default resource settings so that we can get up and running as quickly and easily as possible. Yes, it is possible to change resources in terms of CPU Cores and Memory as well as disk space, so let’s dive in and take you through the process of changing these for both LXC containers as well as Virtual Machines.
Changing Allocated Resources for an LXC Container
First the easier one. Because an LXC Container runs on top of the host machine, it shares most of the core files with the orignal Proxmox install. Because of this, the resource management is a bit easier, albeit less robust. In the left navigation pane, expand Datacenter and then expand your Proxmox node hosting the LXC Container whose resources we want to adjust. In the middle navigation pane, select Resources to bring up the resource view of the LXC Container

There are four main resources:
Memory – The allocated max RAM
Swap – Allocated disk space the LXC can use when memory is full
Cores – The allocated CPU Cores
Root Disk – The name of the hard disk and the space allocated to this LXC container.
The first three, memory, swap and cores are straightforward. Just click on either of them and then click the Edit button on top to edit the values:

Memory and Swap edit

CPU Allocation edit
As for the disk space, it becomes a bit more interesting seeing as we cannot decrease disk space. We can increase, but that is all we are allowed to do with disk space. When selecting the Root Disk option, click on the Volume Action dropdown menu. Here you will be able to move the volume to another disk completely, or resize the volume.

Move Volume will allow you to move the entire container to another disk

Resizing a container’s disk storage will only allow increasing size, not decrease.
Changing Allocated Resources for a Virtual Machine
Although the process of changing the resources of a virtual machine is the same as an LXC Container, you do have more options and more items to adjust. Navigate to yuor Virtual machine and select Hardware from the middle navigation menu to open the resources

The Memory and Processors works the same as it did in the LXC Container. Select any one of the values and click the Edit button to edit the values. Again the Hard Disk also has the same two options to either move storage, or increase the size of the disk. New options that we have include:
BIOS – To change the emulated BIOS of the Virtual Machine
CD/DVD Drive – This might still have the original ISO loaded. You can load any ISO or dismount as you please.
Network Device – To change the emulated networking card. One can also edit the MAC Address of this VM here.

Edit BIOS

Edit CD/DVD Drive

Edit Networking
When clicking on the Add button at the top, there is also a plethora of emulated hardware that can be added. We will go into more detail in a future article, but it might be good to know you can add a secondary drive to the VM

Conclusion
In conclusion, adjusting resource allocations in Proxmox is a straightforward process whether you’re working with LXC containers or virtual machines. By understanding the nuances – such as how LXC containers share core components with the host, while VMs offer additional hardware emulation options – you can tailor your system’s performance to better meet your needs. With just a few clicks, you can easily modify memory, CPU cores, and disk space, and even dive into more advanced settings like BIOS configurations and network devices for VMs. This flexibility not only optimizes performance but also ensures that your infrastructure scales efficiently as demands grow.

