Centos

我無法在 CentOS 7 上啟用交換空間

  • November 14, 2020

所以我正在按照教程安裝 OTRS,它是開源票務請求系統。所以為了安裝,它需要: 4GB 的交換空間。這是我使用的命令:

[root@ip-10-0-7-41 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       50G   14G   37G  27% /
devtmpfs        478M     0  478M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M   13M  484M   3% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000
[root@ip-10-0-7-41 ~]# fallocate -l 4G /myswap
[root@ip-10-0-7-41 ~]# ls -lh /myswap
-rw-r--r--. 1 root root 4.0G Jul  8 08:44 /myswap
[root@ip-10-0-7-41 ~]# chmod 600 /myswap
[root@ip-10-0-7-41 ~]# mkswap /myswap
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=3656082a-148d-4604-96fb-5b4604fa5b2e
[root@ip-10-0-7-41 ~]# swapon /myswap
swapon: /myswap: swapon failed: Invalid argument

您可以在此處看到:無效參數錯誤。我嘗試了很多次都沒有啟用它。有人請告訴我如何解決這個錯誤。(我在 AWS Instance EC2 上執行這個 CentOS 7)

[root@ip-10-0-7-41 ~]# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
/dev/xvda1 xfs /

問題fallocate(1)在於它使用文件系統ioctls來使分配快速有效,缺點是它不物理分配空間,但swapon(2)係統呼叫需要真實空間。參考:https ://bugzilla.redhat.com/show_bug.cgi?id=1129205

我之前的盒子也遇到過這個問題。因此fallocate,我沒有使用,而是dd按照連結的建議使用

sudo dd if=/dev/zero of=/myswap count=4096 bs=1MiB

chmod並使用, mkswap&swapon命令繼續前進。答對了 !有效。

引用自:https://unix.stackexchange.com/questions/294600