swaponは効果がなく、/ proc / swapsは空のままです


10

私のUbuntuサーバーのメモリは512 MB以下です。Node.js + MongoDBを実行するには不十分です。

したがって、スワップファイルを追加することにしました。

# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.69263 s, 229 MB/s
# mkswap /root/myswapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=3c64da32-d0b4-49e5-92db-fba961b8ae28
# swapon /root/myswapfile

エラーメッセージなし=>成功!

これで新しいスワップファイルがリストされますが、表示されません

# swapon -s
Filename                Type        Size    Used    Priority

(空のリスト)

どうすれば機能させることができますか?スワップが欠落している理由は何ですか?


1
別名パーティションのルートにスワップファイルを移動しよう/
2707974

1
私が最初に試したとき、/
swapfileを使って試した

2
許可chmod 600 /root/myswapfileを再度変更swapon /root/myswapfile
2707974

1
それは役に立たなかった...興味深い注意:スワップがリストに表示されない場合でも、スワップオンする前にスワップオフする必要があります。
user22611

3
ないfree任意のスワップの使用量を表示しますか?
mdd

回答:


4

まず、元のスワップファイルを消去します。

sudo rm /myswapfile

次に、次のコマンドを1つずつ実行します。

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile

出力は次のようになります。

-rw------- 1 root root 1.0G Aug  3 18:20 /swapfile

ここで、次のコマンドを実行します。

sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s

ここで、/ etc / fstabを編集して、変更を永続的にします。

sudo nano /etc/fstab

次の行をファイルの最後に追加します。

/swapfile    none            swap    sw              0       0

プレスCTRL+ oその後、Enterキーを押してENTER、ファイルを保存します。

CTRL+ xを押して、nanoを終了します。

ソース:https : //www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04


それでもうまくいかない場合は、swappinessを確認してください。

cat /proc/sys/vm/swappiness

このコマンドは数値を返します。デフォルトは60です。

出力がない場合は、次のコマンドを1つずつ実行します。

sudo sysctl vm.swappiness=60
echo "vm.swappiness = 60" | tee -a /etc/sysctl.conf

-a 重要ですtee、あなたはファイル全体が上書きされます!


1

fdiskスワップを作成するために使用します。新しいパーティションを追加し、Linuxスワップを選択して、変更を書き込みます。 mkswap /dev/sd? それをに追加する必要があります/etc/fstab/。XXXをスワップUUIDに変更します。

UUID=XXX none            swap    sw              0       0

から実行swapon -aできるように実行します/etc/fstab


1

スワップファイルは/ swapfileにあり、600の権限が必要です。

#moving file and changing rights
sudo mv /root/myswapfile /myswapfile
sudo chmod 600 /myswapfile

sudo mkswap /myswapfile

スワップファイルを追加します。このコマンドを忘れたようです

sudo swapon /myswapfile
#check swap is working
sudo swapon -s

1
chmodコマンドはである必要がありますsudo chmod 600...。root:に所有させることも価値がありますsudo chown root:root ...
Wilf、2015

1
@ user22611のメイン投稿が表示された場合は、彼がrootとして機能していることを確認してください。
UNIm95 2015

1
makeswapmkswap
user22611

1
@ user22611はい。あなたが正しいです。mkswapおよびchmod。
UNIm95 2015

1
@ UNIm95- これらの問題を修正するために投稿を編集できます...
Wilf

-1

あなたはこれを行うことができます:

sudo umount -a
gedit /etc/fstab

スワップがこれであるところに書いてください:

/proc/swap     proc   default  errors=noremount     1

そしてこれ:

sudo mount -a

次に、gpartを実行してスワップドライブをスワップとして設定し、ルートdevドライブにマウントすると、この方法で正常に動作する可能性があります。


4
エラー... sudo umount -aすべてアンマウントしませんか?(使用中の場合は問題が発生する可能性があります)最初に既存のスワップをアンマウントしようとする場合は、それらを見つけmountて具体的にアンマウントするか、を使用することをお勧めしますsudo swapoff -a
Wilf、2015

1
それは私があなたが作ったものを壊さなかったものであり、それが唯一のことです。
マイケル

2
ランニングumount -aは確かに本当に馬鹿げた考えです。すべてではなく、マウント解除するために必要なものをマウント解除します。
pzkpfw 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.