RHE6SWAP的建立/擴充

來源:互聯網
上載者:User

SWAP我稱之為交換區,相當於Windows系統下的虛擬記憶體。他的作用就是當我們系統中的記憶體不夠用的時候,可以通過SWAP來增加記憶體。我們在安裝Linux系統的時候,最基本的分區一個是根,一個是SWAP。如果我們當初把SWAP分小了的話,你需要增加他的大小,那麼今天的內容就是這個內容:SWAP的建立/擴充。有兩種方法供我們選擇。

1、利用磁碟的剩餘空間

這個前提就是你的磁碟還有剩餘空間沒有劃分,或者是已經劃分的分區不在使用。這個時候才能使用此方法。下面是此方法的實現步驟。

第一步:分區

查看磁碟的情況

[root@yufei ~]# fdisk -l /dev/sdb

此處省略N多行

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         132     1060258+  83  Linux

/dev/sdb2             133         183      409657+   b  W95 FAT32

/dev/sdb3             184        2610    19494877+   5  Extended

/dev/sdb5             184         445     2104483+  83  Linux

/dev/sdb6             446         511      530113+  82  Linux swap / Solaris

sdb6是我們前面講分區與格式化的時候分出來的,先不理會他。為了完整的來示範,所以我們增加新的分區

[root@yufei ~]# fdisk /dev/sdb

此處有省略內容

Command (m for help): n

Command action

l   logical (5 or over)

p   primary partition (1-4)

l

First cylinder (512-2610, default 512):

Using default value 512

Last cylinder, +cylinders or +size{K,M,G} (512-2610, default 2610): +256M

Command (m for help): p

此處有省略

/dev/sdb7             512         545      273073+  83  Linux

第二步:轉換分區類型

Command (m for help): t

Partition number (1-7): 7

Hex code (type L to list codes): L

此處有省略

Hex code (type L to list codes): 82

Changed system type of partition 7 to 82 (Linux swap / Solaris)

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

用[root@yufei ~]# partprobe /dev/sdb也是同樣的錯誤。

上面的錯誤提示大概內容就是裝置繁忙,無法識別新的分區表,什麼原因呢?看下面的解決方案。

還記得我們上一篇關於自動掛載的內容嗎?對了,我們的sdb上的分區已經掛載到系統中了。通過下面的命令來查看

[root@yufei ~]# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             15118728   6980344   7370384  49% /

tmpfs                   255784         0    255784   0% /dev/shm

/dev/sdb1              1033560     40980    939568   5% /mnt

/dev/sdb2               409424         0    409424   0% /test

把他們兩個卸載掉

[root@yufei ~]# umount /dev/sdb1

[root@yufei ~]# umount /dev/sdb2

再來

[root@yufei ~]# partprobe /dev/sdb

這時候就沒有顯示錯誤資訊了

[root@yufei ~]# fdisk -l /dev/sdb

此處有省略

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         132     1060258+  83  Linux

/dev/sdb2             133         183      409657+   b  W95 FAT32

/dev/sdb3             184        2610    19494877+   5  Extended

/dev/sdb5             184         445     2104483+  83  Linux

/dev/sdb6             446         511      530113+  82  Linux swap / Solaris

/dev/sdb7             512         545      273073+  82  Linux swap / Solaris

sdb7已經分出來了。下面進行格式化

第三步:格式化SWAP分區

SWAP的格式化與我們前面的格式化稍有不同,只是命令不同而已,SWAP用mkswap

[root@yufei ~]# mkswap /dev/sdb7

Setting up swapspace version 1, size = 273068 KiB

no label, UUID=edca6b3a-047b-4e26-9b28-21493f92e2b4

因為沒有設定卷標,所以是無卷標的。

第四步:啟用SWAP

在啟用我們建立的SWAP前,我們先來看看系統中的SWAP大小

[root@yufei ~]# free

total       used       free     shared    buffers     cached

Mem:        511572     154664     356908          0      17408      76236

-/+ buffers/cache:      61020     450552

Swap:       524280          0     524280

這裡面顯示的是512M

[root@yufei ~]# swapon /dev/sdb7

啟用SWAP,再顯示SWAP的大小,多了256M

[root@yufei ~]# free

total       used       free     shared    buffers     cached

Mem:        511572     154928     356644          0      17444      76252

-/+ buffers/cache:      61232     450340

Swap:       797344          0     797344

第五步:寫入fstab

在/etc/fstab 最後加入如下內容

UUID=edca6b3a-047b-4e26-9b28-21493f92e2b4  swap     swap   defaults        0 0

重新啟動系統看看SWAP的大小情況

[root@yufei ~]# free -m

total       used       free     shared    buffers     cached

Mem:        511572     152636     358936          0      15132      75900

-/+ buffers/cache:      61604     449968

Swap:       797344          0     797344

2、利用分區的剩餘空間

既然用分區的剩餘空間,當然要找個空間大的分區來進行下面的操作啊!

第一步:建立SWAP檔案

[root@yufei ~]# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             15118728   6980460   7370268  49% /

tmpfs                   255784         0    255784   0% /dev/shm

/dev/sdb1              1033560     40980    939568   5% /mnt

/dev/sdb2               409424         0    409424   0% /test

因為下面兩個是sdb磁碟的,我們就不用了,直接用/分區吧。

建立一個256M的檔案,名字為根目錄下的swapfile

[root@yufei ~]# dd if=/dev/zero of=/swapfile bs=1M count=256

256+0 records in

256+0 records out

268435456 bytes (268 MB) copied, 9.43718 s, 28.4 MB/s

第二步:對SWAP檔案進行格式化

[root@yufei ~]# mkswap /swapfile

mkswap: /swapfile: warning: don't erase bootbits sectors

on whole disk. Use -f to force.

Setting up swapspace version 1, size = 262140 KiB

no label, UUID=11ca575a-e810-4970-889a-a3f6d9af7dfe

第三步:啟用SWAP

[root@yufei ~]# free

total       used       free     shared    buffers     cached

Mem:        511572     419940      91632          0      15492     338472

-/+ buffers/cache:      65976     445596

Swap:       797344          0     797344

[root@yufei ~]# swapon /swapfile

[root@yufei ~]# free

total       used       free     shared    buffers     cached

Mem:        511572     419948      91624          0      15492     338472

-/+ buffers/cache:      65984     445588

Swap:      1059480          0    1059480

第四步:寫入fstab

加入下面的內容

/swapfile                swap                   swap    defaults        0 0

重新啟動查詢SWAP大小情況

[root@yufei ~]# free

total       used       free     shared    buffers     cached

Mem:        511572     151156     360416          0      15228      74056

-/+ buffers/cache:      61872     449700

Swap:      1059480          0    1059480

這樣我們把兩種方法全部示範了一下,這裡面有個問題,那就是現在系統中有三個SWAP,預設的情況下,哪個SWP最先使用呢?Linux的核心會自 動給SWAP指定一個優先順序,這個優先順序從-1開始,每加入一個新的沒有使用者指定優先順序的SWAP,會給這個優先順序減一。所以-1他的優先順序最好,所以就 最先使用。

有這樣一種情況,那就是在使用VPS的時候,系統在安裝的時候,可能沒有給分配SWAP,所以說,你要自己建立SWAP,但就分區與檔案的SWAP而言,分區的SWAP效率要比檔案高。所以有時候我們需要來調整他們的優先順序。請繼續看操作。

查看swap的優先順序

[root@yufei ~]# swapon -s

Filename                Type        Size    Used    Priority

/dev/sda2               partition    524280    0        -1

/dev/sdb7               partition    273064    0        -2

/swapfile               file        262136    0        -3

這裡是數字越大,優先順序越高。

要更改他們的優先順序也很簡單,只需要在fstab中增加pri參數就OK。注意,這個pri後面的數值不是能負數哦!/etc/fstab修改的主要內容如下。

UUID=c70cd6a4-09cd-4aea-ba94-f3641df4e981    swap        swap    defaults,pri=1    0 0

UUID=edca6b3a-047b-4e26-9b28-21493f92e2b4    swap        swap    defaults,pri=2    0 0

/swapfile                                    swap        swap    defaults,pri=3  0 0

為了使修改生效,我們需要先關閉SWAP再開啟SWAP

[root@yufei ~]# swapoff -a

[root@yufei ~]# swapon -a

[root@yufei ~]# swapon -s

Filename                Type        Size    Used    Priority

/dev/sda2                partition    524280    0        1

/dev/sdb7                partition    273064    0        2

/swapfile                file        262136    0        3

當然我把這個SWAP檔案調整成最高優先順序不合理,這裡只是做個示範,來說明問題而已。所以大家不要把檔案的SWAP調整成最高啊。如果不是必要的情況下,用系統預設的就好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.