Hi,

Do you have suggestions for kernel tweaks for getting the most out of a RAM limited system?

I am running a service requiring 2GB of RAM (netbird) on a VPS which has just 1 GB of memory. I am doing so because I am a stingy bastard and I use only free VPSs for my personal use so I get what I am paying for.

Because of this hardware limit in about 12 hours from service start I begin swapping a bit too much. This would still be manageable but soon the hypervisor gets really pissed and steals up to 90% of the CPU. So the only solution so far is restarting the docker containers every 12 hours (not great, not terrible).

Looking to improve this, Iam now experimenting with ZRAM and swappiness and it seems some benefit can be achieved by using some of the Linux kernel feaures. Is there anything else I should look into?

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    If the Docker image was built even remotely competently, the overhead of Docker would be minimal. As long as the application doesn’t do something stupid like start systemd inside the container, we’re talking kilobytes to a few megabytes of extra process tracking.

    Switching to 32 bit is intriguing, but I imagine many applications (like the one currently running in Docker) won’t be binary compatible. You’d need to compile all your external software which is a pain.