On Oracle Cloud Free Tier, the OS has 512 MB of available RAM.

In case you are using an Oracle Cloud Free Tier instance (VM.Standard.E2.1.Micro), I would recommend checking how much RAM is available in your OS. In my case, it has only 512 MB of RAM:

[opc@vm1 ~]$ cat /proc/meminfo | grep MemTotal
MemTotal:         516012 kB

The problem was in the parameter crashkernel=1G-64G:448M,64G-:512M, which was located in GRUB. I have no idea why crashkernel needs so much memory… on an instance where only 1 GB of RAM is available. But the funny thing is, sometimes when you reboot your instance, it gets slightly more or less RAM than 1 GB — about +-20–30 KB or less.. And in that case, when RAM is less than 1 GB, the crashkernel does not work and the OS just uses 1 GB.

To remove crashkernel from the boot parameters, run this command and then reboot the instance:

grubby --remove-args="crashkernel" --update-kernel=ALL