https://blog.csdn.net/h806968607/article/details/18852149
很久之前free看到swap爲0,一直困惑,明明裝系統時有分配交換分區,但爲何一直顯示爲0呢。身爲菜鳥一開始也懶得一探究竟,所以問題拖到今天才解決。
早上以爲swap爲0應該是我沒有設置交換分區或者是別的什麼原因導致失敗,然後就上網查了一下如何增加分區,採用的是文件的形式。linux增加交換分區確實很簡單。然後就發現了奇怪的問題,此處不再贅述,詳情看下文。
轉自:http://www.nsbeta.info/archives/292
剛纔free命令看了下,我們一個Linux服務器沒有交換分區。blkid輸出如下:
/dev/sda1: UUID=”755ef8da-55f2-4fa4-9cf9-2c85452de2c5″ TYPE=”ext4″
/dev/sda6: UUID=”2834448f-5701-496a-a536-c4c77acc9e4c” TYPE=”ext4″
/dev/sda7: UUID=”a4952e03-8792-4dae-b10b-b4a3960ea13c” TYPE=”ext4″
/dev/sdb1: UUID=”4d15da16-f3da-42bd-8277-cf993466d94e” TYPE=”ext4″
/dev/mapper/cryptswap1: UUID=”88733242-6c33-45c1-8464-05c2f8b79b07″ TYPE=”swap”
沒有交換分區的設備號,但最後有個/dev/mapper/cryptswap1,不知道是什麼東西,沒接觸過。
fdisk -l輸出有一行如下:
/dev/sda5 2433 2918 3903763+ 82 Linux swap / Solaris
說明/dev/sda5已經是創建了swap的。編輯/etc/fstab,加進這行:
/dev/sda5 none swap sw 0 0
運行swapon -a,輸出如下:
swapon: /dev/sda5: read swap header failed: Invalid argument
讀取swap頭部失敗,交換分區掛不上。
於是swapoff -a再mkswap /dev/sda5,此時提示設備繁忙,無法創建swap。
看來是/dev/sda5已經在使用中。google前面信息裏提到的/dev/mapper/cryptswap1,原來這是一個加密分區,使用了/dev/sda5。用如下命令卸載加密分區:
# cryptsetup luksClose /dev/mapper/cryptswap1
再創建一次swap:
# mkswap /dev/sda5
上述命令創建成功,並給出一個UUID。編輯/etc/fstab文件,將這個UUID加載爲交換分區,並運行:
# swapon -a
就成功掛載交換分區了,用free命令和blkid命令可以看到新分區的信息。
同時,/etc/fstab這行:
/dev/mapper/cryptswap1 none swap sw 0 0
以及/etc/crypttab這行:
cryptswap1 /dev/sda5 /dev/urandom swap,cipher=***
要註釋掉,以免下次系統重啓時有問題。