Any suggestions for 16gb RAM laptop?

Hi

I have a laptop with 16GB of RAM and it’s not upgradable. I run into issues with qubes are not able to operate because of that.
I tried to lower the RAM on the system qubes and it’s better now, but I would like to hear what else I can do to make it efficient.
my dom0 has 4GB allocated to it… do I really need that much?

You should be good with giving dom0 less than 4GB of RAM, but how many I don’t really know.

3 Likes

Use Mirage firewall unikernel for any/all sys-firewall. Uses as low as 32Mb of memory (and works reasonably with 256Mb) : see here and here.

4 Likes

Could you provide some details? The two facts shouldn’t be related.

Edit: I misunderstood

I suppose adding more memory is not possible due to lack of free memory slots on the motherboard.

1 Like

Perhaps this is a decent place to ask about / advertise other unikernel projects?

vaults, for example, are very simple: the idea is for them to only read and write blobs. Are there any plans for an extremely low-memory unikernel vault?

2 Likes

My mistake… I thought that Qubes wasn’t upgradable! :sweat_smile:

2 Likes

I tried to lower the RAM on the system qubes and it’s better now, but I would like to hear what else I can do to make it efficient.

Use minimal templates.
Make some system qubes headless (e.g. sys-usb).

1 Like

A tangent, do you have advice for headless sys-usb? I think I gave this a shot a year or so ago but found that one of the qubes packages required for sys-usb wouldn’t function without X. But I can’t recall for sure.

I think this still works with R4.3, but I could be wrong.

2 Likes

These are very helpful, thank you everyone!
I’ll start piece by piece as it’s a bit over my head technically.

I switched to minimal template for testing and it’s working great.
I’m hesitating to cut RAM for dom0… do I need to modify grub like this: GRUB_CMDLINE_XEN_DEFAULT=“$GRUB_CMDLINE_XEN_DEFAULT dom0_mem=max:3072M”?

It’s not very clear regarding headless qubes… how do I use file explorer with this approach, or is it only for sys-usb? I’m not sure if I can use headless sys-usb with bluethooth either

That Qubes logo on Rudd-O is so cute :smile:

1 Like

You can’t run graphical applications like a file explorer when setting guivm to None. If you only use sys-usb to attach devices to other qubes it should be okay. I think it’s also an issue with the widget from some qubes (like the network manager widget from sys-net?)

Could you provide more details about the situation where you encounter an issue? How does a qube not “operate”?

I used a quite old computer with the same RAM amount without much trouble (except that I had to limit the use of concurrent disposables).

Hi, I also have 16GB, maybe it works for you, but I can set dom0 at 1.5GB, I can run OpenBSD as a sys-net (only base), headless at 200MB, I found that Alpine as a browsing qube can run fine on 2GB. Sys-usb with debian minimal following @qubist minimal guide can run on less than 200mb. You can reduce sys-whonix to 300MB and it still runs ok.
If I was you, I would try to model what it is that you want to use your machine for, and just keep it simple.

2 Likes

Yes - change that parameter,as you will - you can drop considerably, but
what works for you will depend on your usage pattern. Once you have
determined a size that works, remember to edit /etc/default/grub

Here are some other things, based on my experience:
Use mirage firewall. If you use a VPN there is a unikernel you could
try also. That will run happily at 32Mb
Experiment with dropping maxmem for qubes - most of my qubes are set at
300-600.
Use minimal, or minimal based qubes.
If you use headless, you cant use a file explorer or any GUI tools, but
qvm-console-dispvm will work fine if you want configuration.
Dont keep qubes hanging around - I use shutdown-idle with a much
shortened timeout to reap unused qubes.
Dont use preloaded disposables.
Dont use Whonix - it’s a hog when memory is tight.

All of this assumes quite some experience and knowledge of what you are
doing. For most people the defaults are fine, and Qubes will run
reasonably well with 16Gb for normal use.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

4 Likes

fwiw, I have found that it is very difficult to run any modern browsers on any os without issue (ie for watching videos or most modern websites) on anything less than 2gb, and Alpine seemed to be the most efficient. Perhaps I am wrong, if you could get a web browsing qube running on 3-600mb would be really interesting. Is this a text-based browser or something like that?

1 Like

I work mainly in terminals, and use mainly text based browsers. I dont
watch videos, and can run ordinary browsers in 1.5 or less.

Like any customization, this depends entirely on what your use case is. If
you want to do video editing, you will need qubes with large amount
allocated memory and run few qubes.

But, to repeat myself, For most people the defaults are fine, and Qubes will run
reasonably well with 16Gb for normal use.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

1 Like

@Euwiiwueir

A tangent, do you have advice for headless sys-usb?

Hm, it seems it needs the GUIVM for those confirmations, so not headless. Sorry.

Other than that, I start from this and install:

qubes-input-proxy-sender
qubes-usb-proxy

Then create a disposable template and base sys-usb on it.

It uses less than 200 MiB without swapping:

root@sys-usb:~ #  free -m
               total        used        free      shared  buff/cache   available
Mem:             424         160         112           2         165         263
Swap:           1023           0        1023
3 Likes

Really? qvm-console does not work?

1 Like

Really? qvm-console does not work?

It does but the desktop notifications about USB devices don’t.

1 Like

Tinycore with dillo: https://dillo.org/ would be 46–80 MB RAM, but no Qubes integration.