Is 4GB of RAM enought for running Qubes OS?

Sometimes users try to run Qubes with only 4GB of RAM. However this is very little but since it’s listed as the minimum requirement many may attempt it.

What happens in practice it is that it’s not enough to make daily use of the system (would love to be proven wrong). You’ll likely end up running only one qube at the time (apart from the sys-net and sys-firewall which are required to be always running). This over time, leads to laziness, to the point where a user just ends up doing all things in the same qube.

If this is your case my suggestion would be to try to increase the RAM in you computer or getting a better one. If that’s not possible, then my advice would be to running something more lightweight Tails OS and checking if it suits your needs.

I agree with you, 4GB is too low, and give a bad user experience to the beginners.

When I first start Qubes-OS, I read the recommended requirements and I chose :

$ xl info | grep total_memory
total_memory           : 32360

I also saw a user trying to install Qubes-OS with an Intel Atom…

the very simple answer is: NO.

1 Like

hahahah :stuck_out_tongue_winking_eye:

I had to laugh.
32 GB and still not enough .

Probably too little. I have a vague recollection of many years ago having only 4g in a x230 for a short while and made it able to open more qubes by reducing dom0 max memory in grub.cfg from 4096 to 1536

1 Like

While 4GB is low, it is adequate if one is willing to trim, customize and have the right expectations. Lower the dom0 max memory, disable or remove some autostart apps and services, trim/rebuild the kernel, etc.

And can probably take it to the extreme and get rid of X if you’re not afraid of ALT+F[2-6], tmux, and lynx! But at that point it is OpenXT with Qubes RPC.

This obviously implies one is not a beginner and is extremely comfortable with the command line, building software, and making their life more difficult than it needs to be instead of upgrading RAM.

How to make a Fedora template that doesn’t have X? When I tried that, running the cut-down TemplateVM would make it shuts itself down.

Not sure of everything that would be necessary to remove X from the template, but my comments were aimed at limiting what is being run to save some memory.

In the template you can disable the qubes-gui-agent service to prevent X from starting. Keep note this will yield a “no apps pop up when I click on it in the menu” experience. The only way to interact with the qube without X is via its console (qvm-console-dispvm qube or xl console if you trust yourself), a qvm-run [-p] command, or if you’ve setup the NetVM to allow access over IP - from another qube.

Another way to disable X from starting in a qube is to avoid starting X in dom0. Disable the lightdm service and you’ll get a typical console login prompt at boot. Start some qubes with qvm-start and while the qubes-gui-agent in the VM will execute, it’ll be waiting for the respective qubes-guid in dom0 before it starts X in the qube. If X never starts in dom0, it won’t start in the qube.

So while 4GB is low for a desktop environment and browsing with multiple qubes at a time with big bloaty browsers, attempting to use available resources to the fullest extent should not be thrown out, if one is willing to experiment. I could see a perfectly usable “headless” Qubes install with 4GB that might have some basic servers running. But, we know only the most ambitious will try to do a network server on Qubes.

I recommend we change the minimum to 8GiB in the docs. I have 16GiB and I still run out!

4 GB is a minimum requirement and Qubes OS indeed works with that amount. You can probably run two useful qubes with it and get a more secure environment than on regular operating systems. (You can also in principle remove sys-firewall and only use sys-net combined with sys-usb, even though it will be less secure).
The fact that the there is also a much larger recommended value, I think, emphasizes that you shouldn’t expect too much from 4 GB.

The recommened value could be written as 16+ GB though.

Would you also complain that it says 32 GB of free space is minimum? What can you really do with such amount after installing Qubes OS?

That is a good point! I had not considered the distinction between minimal and recommended values. Just because I am on the official Qubes team does not mean I do not make mistakes!


Proposed suggestion to move recommended requirements to the top:

Not sure if it makes sense in the page flow, but I fell some users may miss the recommended and only look at the minimum and then have false hopes like the user who motivated the creation of this tread.

The main problem with the minimum requirments (4GB) is that in my experience, to make it work well even with limited setup, you have to manually limit the amount of memory each qube is assigned. In my experience, you should restrict dom0 to 1 GB, then each of sys-net and sys-firewall to 400 MB, and then you can use the rest for a single DVM to browse the web. Browsers seem to take a lot of space these days.

you can save another (400-32)MB if you use mirage firewall instead of regular sys-firewall

I heard that the network-manager gui applet uses quite a bit memory. The text ui (ncurses) version saves memory.

I see a lot of advanced users making advanced recommendations in this thread.
In order to get this familiar with Qubes, we all probably had computers with a lot more than 4GB of RAM to help us.
Additionally, I would say that people who are this familiar with OS details (using another firewall OS, limiting dom0 memory, maybe using commandline clients for certain tasks, …) fall into a certain category of nerds / hobbyists / IT enthusiasts, which typically have rather advanced computer setups and will rarely have to actually deal with a 4GB RAM limit.

On the other hand, I would say that people using a computer with 4GB of RAM would typically not be considered “power users”. Because, let’s face it, 4GB is low even for a regular OS. Additionally, an installation of Qubes on a computer with low memory capacities will most of the time be your first installation. Maybe you had an old computer lying around and wanted to try out this shiny new thing you discovered.
Turns out, there is not much trying out if every other time you want to start a VM it times out due to memory limitiations. I would argue that for someone without prior knowledge to Qubes, it is close to impossible to use it on such a device.

Yes, technically it might be possible, but I think the minimum recommendations should reflect what you can actually expect from such a setup. At least, the docs should probably say something like “at least 4 GB RAM (if you are willing to make compromises and know what you are doing), 8 GB will work better for most starters”.

1 Like

The minimum memory requirement has been increased from 4 GB to 6 GB:

Thanks, all!