Linuxでスワップパーティションを変更するにはどうすればよいですか?


12

Linuxでスワップパーティションを変更するにはどうすればよいですか?現在、スワップに/ dev / hda3を使用しており、/ dev / hda4を使用したい場合、どのステップを実行する必要がありますか?


1
プライマリパーティション/ dev / hda4に論理パーティション/ dev / hda5を作成し、スワップに使用する価値があるでしょう。このように、あなたはスワップのための全体の/ dev / hda4とを費やす必要はありませんし、それに他の論理パーティションを作成することができます
dmityugov

回答:


25

rootで実行します。

swapoff /dev/hda3
mkswap /dev/hda4
swapon /dev/hda4

/ etc / fstabのスワップエントリを編集


13

十分な量のRAMがあり、アプリケーションがメモリ集約型でない場合は、パーティション全体ではなく、個別のファイルをスワップとして使用することを検討できます。これにより、スワップファイルを追加するか、既存のスワップファイルのサイズを変更することで、使用するスワップスペースの量を簡単に選択できます。

スワップファイルがとしてルートディレクトリに存在し/swapfile、サイズが512 MBであるとします。作成するには、rootとしてコマンドを発行します。

$ dd if=/dev/zero of=/swapfile bs=1M count=512
$ mkswap /swapfile
$ swapon /swapfile

再起動後に自動的に使用するには、次を挿入し/etc/fstabます。

/swapfile    none    swap    defaults    0 0

より多くのスワップファイルを追加すると、(複数のファイルを作成するなど、簡単なようで/swapfile1/swapfileX、)を使用して、それらをフォーマットmkswapして使用可能swapon。スワップファイルを無効にする場合は、コマンドを使用できますswapoff /swapfile

ディスクとファイルのバージョン間のパフォーマンスに関しては、それほど大きな違いはありません。ラップトップのハイバネーションディスクとしてswapfileを使用することもできます(とにかく、常に別のパーティションを使用します)。


ext4は頻繁に書き込みを行うためのSSDであるため、swapfileはお勧めできません。これが、デフォルトでLinuxスワップのファイルシステムが異なる理由です。正しい方法は、パーティションテーブルのサイズを変更して、より大きなスワップパーティションを作成することです。
Evalds Urtans

9

急いで:

sudo swapoff /dev/hda3
sudo mkswap /dev/hda4
sudo swapon /dev/hda4

bootimeの場合、mkswapを実行した後、/ etc / fstabファイルを編集し、それに応じて/ dev / hda3行を変更します。


4

/ dev / hda4をスワップとしてフォーマットする必要があります。これはファイルシステムテーブルを削除し、/ etc / fstabを編集してスワップを/ dev / hda4にポイントするだけだと思います。その後、再起動すると元気になります。言うまでもなく、/ dev / hda4のデータが失われます。gpartedをフォーマットのGUIとして使用できます。


1
パーティションをフォーマットした後、ディスクのパーティションテーブルを変更した後でも、Linux 2.6.xを再起動する必要はありません。
drybjed 09年

良い点ですが、私はKISSの哲学にこだわりました。
skitzot33 09年

@ skitzot33ないですブートないよりも簡単ブート
glglgl

2

mateuszaの解決策は問題ありませんが、休止状態から回復するときに状態を思い出せない場合があります。いくつかの追加の操作が必要です:

# prepare your partitions
swapoff /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

# find swap uuid
sudo blkid | grep swap
# OR
sudo echo ls -l /dev/disk/by-uuid | grep sda3 |  cut -d' '  -f8 >> /etc/fstab

# edit swap entry in /etc/fstab
gksu gedit /etc/fstab

# edit the uuid line in /etc/initramfs-tools/conf.d/resume
gksu gedit /etc/initramfs-tools/conf.d/resume

# In terminal, execute this command
sudo update-initramfs -u

休止状態が機能しない場合は、ここで休止状態をテストできます。

# check your /etc/default/grub file
gksu gedit /etc/default/grub

# Depending on your version : if a line looks like
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=<old_swap_partition_uuid>"
# then modify it accordingly; otherwise that's all, you're done

# execute in terminal
sudo update-grub

askubuntuから撮影

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.