rancher / os

Tiny Linux distro that runs the entire OS as Docker containers
https://rancher.com/docs/os/v1.x/en/
Apache License 2.0
6.45k stars 657 forks source link

Kernel panic on DigitialOcean upgrading to 1.4 with 1GB RAM #2397

Closed prologic closed 6 years ago

prologic commented 6 years ago

After upgrading to Rancher OS v1.4 on DigitalOcean Droplets the boot process kernel panics.

screen shot 2018-06-24 at 4 39 04 pm
prologic commented 6 years ago

Upgrading the Droplet to 2GB of RAM resolved this.

screen shot 2018-06-24 at 4 48 08 pm
prologic commented 6 years ago

Q: Why does Rancher OS v1.4 require 2GB of memory just to boot up? This is unacceptable as now a single Rancher OS instance on Digital Ocean costs you a minimum $10.00/month

niusmallnan commented 6 years ago

We added more features in 1.4, which caused it to need more memory when booting up. The next release will optimize this memory problem. Current memory requirements are mentioned here: https://rancher.com/docs/os/v1.x/en/#hardware-requirements

prologic commented 6 years ago

What was added that blew the bootup memory requirements from 1GB to 2GB?

niusmallnan commented 6 years ago

Initrd needs to load system-images, it includes user-docker, base-image, console-image, etc. The larger the images, the more memory is used.

We change the default user-docker to 18.03, this has caused system-images to become large, requiring 1280MB of memory at bootup.

SvenDowideit commented 6 years ago

does that mean that setting the user-docker to alpine in the cloud-init would reduce it again?

thaJeztah commented 6 years ago

We change the default user-docker to 18.03, this has caused system-images to become large, requiring 1280MB of memory at bootup.

What docker version was it using before that?

ghost commented 6 years ago

i run into the same prob. With RancherOS 1.2, a droplet with 1GB memory was enough.

ghost commented 6 years ago
# ros -v
version v1.2.0 from os image rancher/os:v1.2.0
# system-docker version
Client:
 Version:      library-import
 API version:  1.23
 Go version:   go1.8.5
 Git commit:   library-import
 Built:        library-import
 OS/Arch:      linux/amd64

Server:
 Version:      library-import
 API version:  1.23
 Go version:   go1.8.5
 Git commit:   library-import
 Built:        library-import
 OS/Arch:      linux/amd64
niusmallnan commented 6 years ago

@thaJeztah

What docker version was it using before that?

17.09.1

niusmallnan commented 6 years ago

In the next version, I will reduce system-docker and default console.

For user-docker, will also keep the latest stable-ce version.

prologic commented 6 years ago

Rather than complain about the latest Rancher OS being a resource (memory) hog at bootup and idle (with no user containers running) I decided to roll my own called MCL

I sincerely hope later versions of Rancher OS become more resource efficient