Swapにもっとスペースを割り当て、Ramよりも大きなサイズを増やす方法は?

Swapにもっとスペースを割り当て、Ramよりも大きなサイズを増やす方法は?

状況:HD 128GBが/dev/sda3RAM(8GB)より大きい場合は、スワップサイズ()を大きくしてください。
同期:8GB RAMは少なすぎます。 SSDには30GBの空き容量があります。 20GBをSSDスワップに変換したいです。

  • 不変/変更不可能を交換します。なぜ不変なのかという証拠が見つからないため、/mnt/.swapfileスワップファイルのファイル属性を変更する必要はありません。

    sudo lsattr /mnt/.swapfile 
    -------------e-- /mnt/.swapfile
    
  • sudo fdisk -lu /dev/sda与えられたコマンド

    Disk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors 
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 082F85CA-EE3E-479C-8244-858B196FA5BA
    
    Device         Start       End   Sectors   Size Type
    /dev/sda1       2048      4095      2048     1M BIOS boot
    /dev/sda2       4096 220323839 220319744 105.1G Linux filesystem
    /dev/sda3  220323840 236976127  16652288     8G Linux swap
    
  • df -h与えられたコマンド

    Filesystem      Size  Used Avail Use% Mounted on
    udev            3.9G     0  3.9G   0% /dev
    tmpfs           793M  9.4M  784M   2% /run
    /dev/sda2       104G   74G   25G  75% /
    tmpfs           3.9G   54M  3.9G   2% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    tmpfs           793M   64K  793M   1% /run/user/1000
    
  • スワップ用のディスク容量を増やします/dev/sda3

HDとスワップが同じパーティションにある場合、私のワークフローは成功しません。/dev/sda3

masi@masi:~$ sudo -i

root@masi:~# swapoff /dev/sda3

root@masi:~# swapon
[blank]    

root@masi:~# dd if=/dev/zero of=/dev/sda3 bs=20480 count=1M
dd: error writing '/dev/sda3': No space left on device
416308+0 records in
416307+0 records out
8525971456 bytes (8.5 GB, 7.9 GiB) copied, 18.7633 s, 454 MB/s

root@masi:~# mkswap /dev/sda3
Setting up swapspace version 1, size = 8 GiB (8525967360 bytes)
no label, UUID=245cb42c-1d4e-4e21-b544-16b64af962d6

root@masi:~# swapon -p 99 /dev/sda3

root@masi:~# swapon
NAME       TYPE      SIZE USED PRIO
/dev/sda3  partition   8G   0B   99

root@masi:~# vi /etc/fstab 
...

同じパーティションのHDとスワップ - 現在のワークフロー[Ijaz、cas、FarazX]

マージ。 0を追加する必要はないので、fallocate最初に使用されます。dd

masi@masi:~$ sudo fallocate -l 20G /mnt/.swapfile

masi@masi:~$ sudo mkswap /mnt/.swapfile 
Setting up swapspace version 1, size = 20 GiB (21474832384 bytes)
no label, UUID=45df9e48-1760-47e8-84d7-7a14f56bbd72

masi@masi:~$ sudo swapon /mnt/.swapfile
swapon: /mnt/.swapfile: insecure permissions 0644, 0600 suggested.

masi@masi:~$ sudo chmod 600 /mnt/.swapfile

masi@masi:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7925        1494         175         196        6255        5892
Swap:         28610           0       28610

/etc/fstabランレベル()に追加するよりも、ランレベルに次の行を追加する方が良いです。私はLinux / Unixの哲学を維持し、SSDに置き換える場合は、システムバックアップスクリプトの整合性を維持するために/etc/rc.localここにスワップファイルを置きます。再起動するたびにブロックを切り捨てるオプション/mnt/.swapfilediscardsw

# http://unix.stackexchange.com/a/298212/16920
# http://unix.stackexchange.com/a/298543/16920

# If swap is on SSD, trim blocks each time at startup.
/mnt/.swapfile  none    swap    defaults,discard      0        0

# If swap on External HDD, just use sw.
#/media/masi/SamiWeek/.swapfile  none    swap    sw      0        0

源泉

  1. スワップスペースを増やす方法は?https://askubuntu.com/a/178726/25388初心者のためのスワップスペースの追加に関する一般的な議論です。
  2. HDD(SSDではない)用のLinuxパーティショニングガイド:4.パーティション要件。http://www.tldp.org/HOWTO/Partition/requirements.htmlしたがって、SSDの外部トラックにスワップを配置するのではなく、defaults,discard@casが提案したオプションを使用してブロックをクリーンアップします。

システム:Linux Ubuntu 16.04 64ビット
Linuxカーネル:4.6
Linuxモジュール:wl
ハードウェア:Macbook Air 2013-mid
Ram:8GB
SSD:128GB

答え1

システムのスワップサイズを増やすためにのみシステムスペースを使用しようとしていますsda2。あなたのsda2

/dev/sda2       104G   74G   25G  75%  / 

/を活用するスワップファイルを作成して、システムに追加のスワップスペースを追加できますsda2

dd if=/dev/zero of=/swapfile bs=20480 count=1M

次に、次のようにします。

sudo mkswap /swapfile  
sudo swapon /swapfile 

確認すると、スワップ領域がその量だけ増加します。free -m

はい、起動時に有効にするには、次の項目を追加してください。/etc/fstab

 /swapfile     none     swap     sw     0     0

答え2

  1. メモリ管理

    • デバイスの交換使用量の概要を表示するには:

      $ swapon -s
      
    • 使用可能で使用されている物理メモリとスワップメモリ​​の量を表示します。

      $ free -h
      
    • / swapfileにスペースを事前に割り当てるには、次の行を使用できます。

      $ fallocate -l 20G /swapfile
      % OR
      $ dd if=/dev/zero of=/swapfile bs=20480 count=1M
      
  2. 権限の変更と交換の作成/アクティブ化

    $ chmod 600 /swapfile
    
    $ mkswap /swapfile
    
    $ swapon /swapfile
    

    ファイルを変更してファイルのセキュリティを向上させることもできます。プロパティ使用chattr。マンページを読んだり読んでください。Howtoのウェブサイトのこのガイド

  3. cat /proc/swapsコマンドの出力を表示してfree有効になっていることを確認するか、コマンドを使用するか、コマンドを使用してください。

    $ swapon -s
    
  4. 活性化起動時、次のフィールドを含むように編集(ファイルシステムに関する静的情報)します。/etc/fstabここでフィールドは、、、、であり、fs_spec読み取るfs_fileことができます。 fs_vfstypefs_mntopsfs_freqfs_passnoman 5 fstab

    $ vi /etc/fstab
    
    /swapfile     none     swap     defaults,discard     0     0
    
    • 4番目のパラメータでfs_mntopssw、SSDと交換するときだけ使用しないでdefaults,discardください。起動するたびにメモリブロックをクリーンアップしてください。答えを参照してください。ここ~についてエラー/警告が発生した場合は、エラートラップと交換をどのように実行しますか? このdiscardオプションは間違いなくパーティションで機能します。

答え3

頼む、」Swapにもっとスペースを割り当て、Ramよりも大きなサイズを増やす方法は?「システムの設定方法を変更することについては言及していません。

fdiskとアイドル出力は次のことを知らせます。

  • スワップ専用パーティション(/dev/sda3)があります。そのパーティションをサイズ変更するだけで、追加のスペースを使用するためにシステムで何も変更する必要はありません。 (/etc/fstab).
  • オペレーティングシステムを含むパーティション(/dev/sda2)があります。このパーティションには26Gの空き容量があります。このパーティションを20Gに減らすと、オペレーティングシステムで拡張して使用できる5Gが残ります。

スワップパーティションは拡張パーティションではないため、サイズを少し簡単に増やすことができます。

必要なツール:

  • gpartedを使用して起動可能なオペレーティングシステム

最新の無料版を見つけることができる場所はここです。別れの魔法

gpartedを使用してパーティションのサイズを変更する方法

  1. gpartedツールを使用して他のオペレーティングシステムから起動する
  2. gpartedでオペレーティングシステムパーティション(/ dev / sda2)のサイズを変更します。交換スペースの寄付金額を減らしてください。解放されたスペースのすべてのデータをgpartedを介して移動する必要があるため、時間がかかることがあります。
  3. gpartedでスワップパーティション(/ dev / sda3)のサイズを変更します。利用可能なすべてのスペースを含むように移動して拡張します。
  4. sda2オペレーティングシステムで再起動します。
  5. スワップパーティション(/dev/sda3)が使用中であることを確認してください。

ディスクとパーティションに低レベルの変更を加えており、エラーやクラッシュによってデータが破損する可能性があることに注意してください。

まず、データをバックアップしてください。

関連情報