web-dev-qa-db-ja.com

CentOS 7でスワップ領域を有効にできない

だから私はチュートリアルに従って、オープンソースのチケットリクエストシステムである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

あなたは見ることができます:ここで無効な引数エラー。それを有効にするために何度も無駄に試しましたが、誰かがこのエラーを修正する方法を教えてください。 (私はこのCentOS 7をAWSインスタンスEC2で実行しています)

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

fallocate(1)の問題は、ファイルシステムioctlsを使用して割り当てを高速かつ効果的に行うことです。欠点は、物理的にスペースを割り当てないが、swapon(2) syscallが必要なことです。実空間。リファレンス: https://bugzilla.redhat.com/show_bug.cgi?id=1129205

私は以前にも私の箱でこの問題に直面していました。 fallocateを使用する代わりに、リンクが示唆するようにddを使用しました

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

chmodmkswapswaponコマンドを使用して先に進みます。ビンゴ!動いた。

114
Rahul

これらの手順に従ってください、それはDigitalOceanの液滴で動作します。私はテストしました。必要に応じて4096を変更します

yum install nano -y

Sudo dd if=/dev/zero of=/swapfile count=4096 bs=1MiB
Sudo chmod 600 /swapfile
Sudo mkswap /swapfile
Sudo swapon /swapfile

Sudo nano /etc/fstab

この行を追加します。

/swapfile   swap    swap    sw  0   0

このコマンドを実行する

Sudo sysctl vm.swappiness=10

Sudo nano /etc/sysctl.conf

この行を追加

vm.swappiness = 10
vm.vfs_cache_pressure = 50

スワップのサイズを確認するには

swapon --summary
free -h
20
Dylan B