Minimum RAM For CentOS7

Home » CentOS » Minimum RAM For CentOS7
CentOS 31 Comments

Just FYI:

I had several problems to install CentOS 7 with 512 MB RAM. No log showed me that problem (I would expect a system check before).

With 1 GB RAM everything runs fine. Don’t know, what they do with more than 512 MB RAM on a text only system during installation …

Best Regards Oli

31 thoughts on - Minimum RAM For CentOS7

  • Could switch to a different console and bounce on top, if you’re interested.

    512MB seems really small these days, so I’m guessing you’re using this as a small appliance box like a NAT router. Is there a reason you prefer CentOS over a distro targeted to your application? If it’s a NAT
    router, for example, there are a bunch of slim-profile distros which are designed specifically for NAT routing on a small system.


  • No, a basic box for common services like DHCP, DNS, SMTP, Nginx, … doesn’t need much RAM, so 512 MB is really enough.

    I don’t see a reason, why I should have a zoo of distros. A productive basic installation of CentOS 7 needs ~ 100 MB RAM. Why the installation needs more than 5 times that is really interesting question.

    Best Regards Oli

  • a $50 beaglebone black has 512MB ram, and is best run with ucLinux and busybox.

    That is not the target market of RHEL7 and therefore CentOS 7.

  • If you have 1.000 or 10.000 machines it *is* a reason to think about every fucking dollar per machine you can save each month.

    And CentOS 7 runs perfectly with 512 MB RAM, only the installer is br0ken. Is it a java installer? *g*

    Best Regards Oli

  • As soon as you throw in a web server and/or MySQL, you need more. The RAM is really defined by what the system is going to be doing.

  • It doesn’t matter what it says. What matters is to think about ressources, even in a linux distro with long term support and enterprise features.

    Enterprise doesn’t mean waste your money. And really, to double the memory to install a machine – are you kidding me? They’ve never thought about it and I really hate this attitude.

    Best Regards Oli

  • Interestingly: I just looked up FreeBSD 64 bit (amd64 they call what Linux calls x86_64) installation requirements: you need at least 64 MB of RAM
    for installation ;-) Of course, you will need _much_ more just to run Xwindow system on that box…

    Somehow it comes to my mind what someone called M$ Windows somewhere around Windows XP: “bloated pig” ;-)

    Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247

  • Oli…perhaps instead of taking out your anger and frustration on the CentOS packagers, you might wish to vent at the Upstream…because, when all is said and done, CentOS is a repackaged RHEL. Whatever the requirements are for the upstream are the requirements for CentOS. Whatever the installer looks for in RHEL is going to be the same thing that the installer looks for in CentOS.

    I will leave you with this minor piece of wisdome, which I’ve seen repeated in this list many times: if you don’t agree with the requirements or feel that there’s a bug in the installer, you are more than welcome to file a bug report with the upstream.

  • My first statement was a simple “FYI” so that you know this requirement during installation.

    I found one problem with the initramfs file which has 300 MB in a tmpfs. The rest of the memory is used by processes, round about 300 MB.

    tmpfs: /run/, 311 MB used

    Anaconda is fat with ~ 200 MB, rest are our best friends, systemd, polkit and other new bloat.

    Best Regards Oli

  • That is really funny: inside of this ramdisk is a tmp dir, with 279 MB
    inside, where the biggest part is the squashfs image and some files which are generated after start of installation.

    ├── curl_fetch_url0
    ├── curl_fetch_url1
    │   └── squashfs.img
    ├── curl_fetch_url2
    ├── curl_fetch_url3
    ├── dhclient.eth0.dhcpopts
    ├── F3ilzP-ks.cfg
    ├── ifcfg
    │   └── ifcfg-eth0
    ├── ifcfg-leases
    │   └──
    ├── ks.cfg
    ├── ks.cfg.done
    ├── net.52:54:00:7b:80:c7.did-setup
    ├── net.eth0.dhcpopts
    ├── net.eth0.did-setup
    ├── net.eth0.hostname
    ├── net.eth0.hwaddr
    ├── net.eth0.manualup
    ├── net.eth0.resolv.conf
    ├── net.eth0.up
    ├── net.ifaces
    └── net.lo.manualup

    That means that the squashfs is packed inside a initramfs during installation? I don’t get the idea because we *have* a running system with a initramfs, that is the primer for the whole boot.

    Best Regards Oli

  • Ok, final result: deleting the initramfs files results in a clean installation. So we waste ~300 MB RAM during installation with a file nobody needs. Great.

    Best Regards Oli

  • I wouldn’t even do that, because what they do they do for their customers, right?


    Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247

  • John R Pierce wrote:

    In my experience with the installation of Fedora 19/20 (same sort of anaconda installator, F19 has v19.30.13, F20 v20.25.16, CentOS 7 has v19.31.79), RAM requirements also depend on the number of packages and their size. On some slightly larger installation (kickstart install from 8 repositories with over 50000 RPMs, 3600+ packages was installed, highest rpm package file had over 200 MB in size) was
    1.5 GB RAM insufficient, with 2 GB RAM installation was successful.

    Franta Hanzlik

  • Well they did have the opportunity to make changes in the minimal iso since that doesn’t directly correspond to a RHEL version. I haven’t used it yet because I already had the dvd downloaded, but if you have reasonable internet bandwidth, I think a minimal initial install makes sense, followed by telling yum to install whatever else you might need since there’s a good change you’ll download them as updates anyway.

  • the RPMs are all the same RPMs. they woudl have had to build a completely new installer rather than just a kickstart that specifies the minimum packages

  • The installer (anaconda) is written in python. The memory limit is hard-coded into the installer, not based on how much memory the installer needs (although the limits for the GUI installer is more than the non-GUI, iirc).

  • How much memory does it take to run and install from a live CD?

    What about a clone of a partition that has CentOS installed?

  • Sounds like you’ve figured out exactly what to write in your bug report to the upstream.

    On another slant, why don’t you consider increasing the RAM to 1G, making the install, then cloning the disk on the other 9.999 machines?

    – —
    ^ ^ Mark LaPierre Registered Linux user No #267004
    Version: GnuPG v2.0.14 (GNU/Linux)


  • Am 07.09.2014 um 20:56 schrieb Oliver Schad :

    i would suggest to install it offsite e.g. yum provides a “installroot” option.

  • I’ve typically run into the memory limit in VMs, where it is trivial to change the memory allocated to it on the fly, so I bump up the memory, then lower it after the install.

  • First, if you are running 10,000 machines with 512K RAM, you are doing something really, really weird or you just like managing a lot of machines that can’t do very much each – and supplying a lot more power than you would need for fewer, more capable hosts.

    But, if you have even more than a few, you are probably already doing some sort of image installs. So just install on a machine or VM with
    1GB, then use ReaR or Clonezilla to back it up and restore onto the target boxes. Or for brute force, use dd to copy the drive and swap them into place.

  • … which will be a lot of drive swapping for 1000 or 10000 machines. With this number of machines the only workable option I can think of is netboot
    + kickstart (with hard drive then network boot order in BIOS so no need to change anything after system is installed)… But it is true what was mentioned 1000+ weak machines are unlikely to be able to pay their electric bills.

    Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247

  • Drive swapping is pretty easy on servers with hotswap bays. If you can rack the machines you would be able to swap the drives. But, Clonezilla with the DRBL server has a multicast option that will install the same image on a bunch of machines at once – and it is fairly agnostic about the OS it is loading so it is useful in a heterogeneous environment.

  • you can either do an image install, or install the media on a different device and move it over. if you have thousands of machines, you likely have some level of automation around this already