状況:HD 128 GBの場合、スワップサイズ(/dev/sda3
)をRAM(8 GB)より大きくする
動機:8 GB RAMが小さすぎる; SSDに30 GBの空き容量; 20 GBから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
...
マージ。ゼロを置く必要がないため、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
に次の行を追加します。これは、ランレベル(/etc/rc.local
)に物を追加するよりも優れています。ここで、スワップファイルを/mnt/.swapfile
に配置して、Linux/Unixの哲学を維持し、システムバックアップスクリプトの整合性。 SSDにスワップする場合は、discard
ではなく、再起動のたびにブロックがトリミングされるように、sw
オプションを使用します
# 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
出典
defaults,discard
オプションを使用して、提案されているようにブロックをトリムします@cas。システム:Linux Ubuntu 16.04 64ビット
Linuxカーネル:4.6
Linuxモジュール:wl
ハードウェア:Macbook Air 2013-mid
ラム:8 GB
SSD:128 GB
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
メモリ管理
デバイスごとのスワップ使用量の概要を表示するには:
$ swapon -s
空きおよび使用済みの物理メモリとスワップメモリの量を表示するには:
$ free -h
/ swapfileにスペースを事前に割り当てるには、以下の行を使用できます。
$ fallocate -l 20G /swapfile
% OR
$ dd if=/dev/zero of=/swapfile bs=20480 count=1M
権限を変更してスワップを作成/アクティブ化する
$ chmod 600 /swapfile
$ mkswap /swapfile
$ swapon /swapfile
chattr
を使用してファイル属性を変更することにより、ファイルのセキュリティを向上させることもできます。マニュアルページを読むか、または Tecmint Webサイトのこのガイド を読むことをお勧めします。
コマンドcat /proc/swaps
の出力を表示して有効になっていることを確認し、free
コマンドを使用するか、
$ swapon -s
ブート時に有効にするには、/etc/fstab
(ファイルシステムに関する静的情報)を編集して、フィールドがfs_spec
、fs_file
、fs_vfstype
、fs_mntops
、fs_freq
およびfs_passno
。これらについては、man 5 fstab
で読み取ることができます。
$ vi /etc/fstab
/swapfile none swap defaults,discard 0 0
sw
だけでなく、起動時にメモリブロックがトリミングされるようにdefaults,discard
を使用しないでください、回答を参照してください ここ についてエラー/警告の場合のエラートラップとスワップオフの方法discard
オプションはパーティションで確実に機能します。「スワップより多くのスペースを割り当ててRAMよりもサイズを大きくする方法」と質問しても、システムのセットアップ方法の変更については何も言われていません。
fdiskとfreeの出力から、次のことがわかります:
スワップパーティションは拡張パーティションではないため、サイズを増やすのが少し簡単になります。
必要なツール:
最後の無料バージョン Parted Magic の1つの場所をここで探します。
gpartedを使用してパーティションのサイズを変更する手順
低レベルでディスクとパーティションを変更していること、およびエラーやクラッシュがデータに損傷を与える可能性があることを忘れないでください。
まずデータをバックアップします。