Jex’s Note

Dd 指令

(最後更新: 2016-04-14)

介紹

用來複製或轉換為一個檔案

假設目前系統環境只有一顆硬碟,當初安裝時沒有多切,但不想要重新再切,所以以dd產生一個檔案,並且利用這個檔案所佔的空間去模擬一個磁碟

[1] 產生一個50M的檔案

sudo dd if=/dev/sda1 of=~/virtual2.img bs=1M count=50

[2] 將這個檔案切成磁碟

cfdisk virtual2.img

選logical

[3] 格式化成XFS

sudo mkfs.xfs virtual2.img -f

[4] mount它,-o pquota是xfs特有的參數不需理會,可以將xfs改成你熟悉的ext4

sudo mount -t xfs ~/virtual2.img ./test -o pquota

xfs的 folder quota 正常:)

swap 指令

  • 通常安裝主機都會設定 swap
  • 但如果沒有 swap 或要增加 swap 可自行設定

sudo swapon -a

sudo swapoff -a

釋放 swap

sudo swapoff -a
sudo swapon -a

查看 swap 狀態

swapon -s

另種方式看 Swap 的狀態

$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        711        281          0         83        418
-/+ buffers/cache:        209        782
Swap:            0          0          0

建立/增加 swap

建立 1G swap

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

掛載這個 Swap

sudo mkswap /swapfile
sudo swapon /swapfile

Swap 確實設定好了

swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvdb                               partition       262140  133804  -1
/swapfile                               file            1048572 0       -2


$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        896         95          0         18        660
-/+ buffers/cache:        217        775
Swap:         1023          0       1023

確寶每一次 swap 都會被啟動

/etc/fstab :

/swapfile   none         swap    sw      0       0

為了避免太差的效能, swappiness 應該設定 10, 可以讓 swap 作為緊急緩衝區, 預防用光記憶體導致 crash

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

設定正確權限給 swap file

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

ref : https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04

Comments