国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux swap分區(qū)及作用詳解

2024-08-27 23:56:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
我們?cè)诎惭b系統(tǒng)的時(shí)候已經(jīng)建立了 swap 分區(qū)。swap 分區(qū)通常被稱(chēng)為交換分區(qū),這是一塊特殊的硬盤(pán)空間,即當(dāng)實(shí)際內(nèi)存不夠用的時(shí)候,操作系統(tǒng)會(huì)從內(nèi)存中取出一部分暫時(shí)不用的數(shù)據(jù),放在交換分區(qū)中,從而為當(dāng)前運(yùn)行的程序騰出足夠的內(nèi)存空間。

也就是說(shuō),當(dāng)內(nèi)存不夠用時(shí),我們使用 swap 分區(qū)來(lái)臨時(shí)頂替。這種“拆東墻,補(bǔ)西墻”的方式應(yīng)用于幾乎所有的操作系統(tǒng)中。

使用 swap 交換分區(qū),顯著的優(yōu)點(diǎn)是,通過(guò)操作系統(tǒng)的調(diào)度,應(yīng)用程序?qū)嶋H可以使用的內(nèi)存空間將遠(yuǎn)遠(yuǎn)超過(guò)系統(tǒng)的物理內(nèi)存。由于硬盤(pán)空間的價(jià)格遠(yuǎn)比 RAM 要低,因此這種方式無(wú)疑是經(jīng)濟(jì)實(shí)惠的。當(dāng)然,頻繁地讀寫(xiě)硬盤(pán),會(huì)顯著降低操作系統(tǒng)的運(yùn)行速率,這也是使用 swap 交換分區(qū)最大的限制。

相比較而言,Windows 不會(huì)為 swap 單獨(dú)劃分一個(gè)分區(qū),而是使用分頁(yè)文件實(shí)現(xiàn)相同的功能,在概念上,Windows 稱(chēng)其為虛擬內(nèi)存,從某種意義上將,這個(gè)叫法更容易理解。因此,初學(xué)者將 swap 交換分區(qū)理解為虛擬內(nèi)存是沒(méi)有任何問(wèn)題的。

具體使用多大的 swap 分區(qū),取決于物理內(nèi)存大小和硬盤(pán)的容量。一般來(lái)講,swap 分區(qū)容量應(yīng)大于物理內(nèi)存大小,建議是內(nèi)存的兩倍,但不超過(guò) 2GB。但是,有時(shí)服務(wù)器的訪問(wèn)量確實(shí)很大,有可能出現(xiàn) swap 分區(qū)不夠用的情況,所以我們需要學(xué)習(xí) swap 分區(qū)的構(gòu)建方法。

建立新的 swap 分區(qū),只需要執(zhí)行以下幾個(gè)步驟。
  1. 分區(qū):不管是 fdisk 命令還是 parted 命令,都需要先區(qū)。
  2. 格式化:格式化命令稍有不同,使用 mkswap 命令把分區(qū)格式化成 swap 分區(qū)。
  3. 使用 swap 分區(qū)。

下面我們來(lái)逐一實(shí)現(xiàn)。

建立swap分區(qū)第一步:分區(qū)

命令如下:

[root@localhost ~]# fdisk /dev/sdb
#以/dev/sdb分區(qū)為例
WARNING: DOS-compatible mode is deprecated.It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
#新建
Command action e extended p primary partition (1-4)
P
#主分區(qū)
Partition number (1-4): 1
#分區(qū)編號(hào)
First cylinder (1-2610, default 1):
#起始柱面
Using default value 1
Last cylinder, +cylinders or +size{K, M, G} (1-2610, default 2610): +500M
#大小
Command (m for help): p
#查看一下
Disk /dev/sdb: 21.5GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes 1512 bytes
Disk identifier: OxOOOOOebd
Device Boot Start End Blocks Id System
/dev/sdb1 1 65 522081 83 linux
#剛分配的分區(qū)ID是83,是Linux分區(qū),我們?cè)谶@里要分配swap分區(qū)
Command (m for help): t
#修改分區(qū)的系統(tǒng)ID
Selected partition 1
#只有一個(gè)分區(qū),所以不用選擇分區(qū)了
Hex code (type L to list codes): 82
#改為swap分區(qū)的ID
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): p
#再查看一下
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes 1512 bytes Disk identifier: OxOOOOOebd
Device Boot Start End Blocks Id System
/dev/sdb1 1 65 522081 82 Linux swap / Solaris
#修改過(guò)來(lái)了
Command (m for help): w
#記得保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

仍以 /dev/sdb 分區(qū)作為實(shí)驗(yàn)對(duì)象。不過(guò),如果分區(qū)剛剛使用 parted 命令轉(zhuǎn)變?yōu)?GPT 分區(qū)表,則記得轉(zhuǎn)換回 MBR 分區(qū)表,fdisk 命令才能識(shí)別,否則干脆新添加一塊硬盤(pán)做實(shí)驗(yàn)。

建立 swap 分區(qū)第二步:格式化

因?yàn)橐袷交?swap 分區(qū),所以格式化命令是 mkswap。命令如下:

[root@localhost ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 522076 KiB
no label, UUID=c3351 dc3-f403-419a-9666-c24615e170fb

使用swap分區(qū)

在使用 swap 分區(qū)之前,我們先來(lái)說(shuō)說(shuō) free 命令。命令如下:

[root@localhost ~]#free
total used free shared buffers cached
Mem: 1030796 130792 900004 0 15292 55420
-/+ buffers/cache: 60080 970716
Swap: 2047992 0 2047992

free 命令主要是用來(lái)查看內(nèi)存和 swap 分區(qū)的使用情況的,其中:
  • total:是指總數(shù);
  • used:是指已經(jīng)使用的;
  • free:是指空閑的;
  • shared:是指共享的;
  • buffers:是指緩沖內(nèi)存數(shù);
  • cached:是指緩存內(nèi)存數(shù),單位是KB;

我們需要解釋一下 buffers(緩沖)和 cached(緩存)的區(qū)別。簡(jiǎn)單來(lái)講,cached 是給讀取數(shù)據(jù)時(shí)加速的,buffers 是給寫(xiě)入數(shù)據(jù)加速的。cached 是指把讀取出來(lái)的數(shù)據(jù)保存在內(nèi)存中,當(dāng)再次讀取時(shí),不用讀取硬盤(pán)而直接從內(nèi)存中讀取,加速了數(shù)據(jù)的讀取過(guò)程;buffers 是指在寫(xiě)入數(shù)據(jù)時(shí),先把分散的寫(xiě)入操作保存到內(nèi)存中,當(dāng)達(dá)到一定程度后再集中寫(xiě)入硬盤(pán),減少了磁盤(pán)碎片和硬盤(pán)的反復(fù)尋道,加速了數(shù)據(jù)的寫(xiě)入過(guò)程。

我們已經(jīng)看到,在加載進(jìn)新的 swap 分區(qū)之前,swap 分區(qū)的大小是 2000MB,接下來(lái)只要加入 swap 分區(qū)就可以了,使用命令 swapon。命令格式如下:

[root@localhost ~]# swapon 分區(qū)設(shè)備文件名

例如:

[root@localhost ~]# swapon /dev/sdb1
swap分區(qū)已加入,我們查看一下。
[root@localhost ~]#free
total used free shared buffers cached
Mem: 1030796 131264 899532 0 15520 55500
-/+ buffers/cache: 60244 970552
Swap: 2570064 0 2570064

swap 分區(qū)的大小變成了 2500MB,加載成功了。如果要取消新加入的 swap 分區(qū),則也很簡(jiǎn)單,命令如下:

[root@localhost ~]# swapoff /dev/sdb1

如果想讓 swap 分區(qū)開(kāi)機(jī)之后自動(dòng)掛載,就需要修改 /etc/fstab 文件,命令如下:

[root@localhost ~]#vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults 1 1
UUID=0b23d315-33a7-48a4-bd37-9248e5c443451 boot ext4 defaults 1 2
UUID=4021be19-2751-4dd2-98cc-383368c39edb swap swap defaults 0 0
tmpfs /dev/shm
tmpfs defaults 0 0
devpts /dev/pts
devpts gid=5, mode=620 0 0
sysfs /sys
sysfs defaults 0 0
proc /proc
proc defaults 0 0
/dev/sdb1 swap swap
defaults 0 0
#加入新swap分區(qū)的相關(guān)內(nèi)容,這里直接使用分區(qū)的設(shè)備文件名,也可以使用UUID。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 花莲县| 民乐县| 阿合奇县| 榆中县| 霍城县| 东兴市| 克什克腾旗| 漳平市| 东光县| 梁山县| 东源县| 舞阳县| 怀安县| 略阳县| 从化市| 阳信县| 江安县| 西吉县| 永济市| 太康县| 河津市| 苏州市| 宜黄县| 慈利县| 威海市| 商河县| 井研县| 靖安县| 上栗县| 桦南县| 探索| 临沧市| 施甸县| 顺义区| 松阳县| 无极县| 达州市| 商南县| 泸溪县| 延安市| 成武县|