On Wed, Jan 8, 2020 at 1:23 PM Valentin Vidić <vvidic@valentin-vidic.from.hr> wrote:
On Wed, Jan 08, 2020 at 01:09:23PM -0500, Jeffrey Walton wrote:
Hi Everyone,
I work with an open source project. We have a VM but it is low-end. The machine suffers OOM kills. We don't have access to /etc/fstab. Everything is an upsell with the VPS provider.
I'm trying to setup a swapfile during startup using Systemd but:
# swapon /swapfile swapon: /swapfile: swapon failed: Operation not permitted
This may be useful:
# command -v swapon /sbin/swapon # file /sbin/swapo swapoff swapon # file /sbin/swapon /sbin/swapon: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=a4891bc4dcfc533c61d76aa3e69870ab35d90c89, stripped
My question is, is there a way to sidestep the restriction? Is it possible to ask the kernel to use the swapfile without using the command?
You can try running for more details:
# strace swapon /swapfile
but the swap functionality is probably disabled in the kernel itself.
Thanks Valentin. Here is the full Pastebin: https://pastebin.com/hHAv5T0N . I believe this is the relevant part from the Pastebin: readlink("/swapfile", 0x7ffefb4c0810, 4096) = -1 EINVAL (Invalid argument) stat("/swapfile", {st_mode=S_IFREG|0600, st_size=2147483648, ...}) = 0 open("/swapfile", O_RDONLY) = 3 read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65536) = 65536 close(3) = 0 swapon("/swapfile", 0) = -1 EPERM (Operation not permitted) open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdbd8207000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2502 read(3, "", 4096) = 0 close(3) = 0 munmap(0x7fdbd8207000, 4096) = 0 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/util-linux.mo", O_RDONLY) = -1 ENOENT (No such file or directory) ... Jeff