日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux:Swap分区

發布時間:2025/3/21 linux 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux:Swap分区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux中Swap(即:交換分區),類似于Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的情況。

?

方法1:使用獨立的分區來實現

?

1. lsblk 查看是否有可用的磁盤分區,使用fdsik劃分磁盤分區

?

2. fdisk /dev/sdc 創建后的分區為/dev/sdc2,注意使用t選項修改分區id為82

3. 創建swap文件系統

? ?mkswap /dev/sdc2 -L swap_sdc2

4. vim /etc/fstab

? ?:r!blkid /dev/sdc2? ? ? ?#讀取命令輸出至文件,再次進行編輯

? ?UUID="6f50983b-1452-41fc-8efd-2151e4613959" swap? ? ? ? ? ? ? ? ? swap? ? ?defaults? ? ? ?0 0?

5. swapon -a? 讓編輯后的/etc/fstab中的swap 分區生效

? ?發散思維: 其實執行mount -a 是否生效不還是看選項是否有auto嗎,man 5 fstab中找到的(學會使用man 5 配置文件 來查看配置信息,你值得擁有!)

? ?defaults

? ? ? ? ? ? ? ? ? ? ?use default options: rw, suid, dev, exec, auto, nouser, and async.

?

? ?noauto do not mount when "mount -a" is given (e.g., at boot time)

?

? ?提取關鍵信息:defaults: rw, suid, dev, exec, auto, nouser, and async.?

? ?noauto: do not mount when "mount -a" is given (e.g., at boot time)? ?這句話取反你就知道啥意思了!

?

6. 重新讀取掛載信息后,使用swapon -s 查看swap文件系統的信息

? ?[root@centos7 ~]#swapon -s

Filename Type Size Used Priority

/dev/sda3? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? partition 2047996 2800 -1

/dev/sdc2? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? partition 10484732 0 -2

?

注意一下還有優先級的,數值越大優先級越高

發散思維: 在使用是swap分區的時候要使用外磁道來使用(即磁道號較小的,最外圈的是0磁道),因為這樣數據的訪問效率會比內圈磁道高,具體的原因在此不再贅述。

7. 查看swap分區的狀態也可以使用 lsblk?

? ?[root@centos7 ~]#lsblk?

NAME? ?MAJ:MIN RM? SIZE RO TYPE MOUNTPOINT

sda? ? ? 8:0? ? 0? 100G? 0 disk?

├─sda1? ?8:1? ? 0 1000M? 0 part /boot

├─sda2? ?8:2? ? 0? 9.8G? 0 part /

├─sda3? ?8:3? ? 0? ? 2G? 0 part [SWAP]? ? ? ? #原來的swap分區大小

├─sda4? ?8:4? ? 0? ? 1K? 0 part?

└─sda5? ?8:5? ? 0 48.8G? 0 part /data

sdb? ? ? 8:16? ?0? ?20G? 0 disk?

├─sdb1? ?8:17? ?0? ? 2G? 0 part?

├─sdb2? ?8:18? ?0? ? 2G? 0 part?

├─sdb3? ?8:19? ?0? ? 3G? 0 part?

├─sdb4? ?8:20? ?0? ? 1K? 0 part?

└─sdb5? ?8:21? ?0? ? 2G? 0 part?

sdc? ? ? 8:32? ?0? ?20G? 0 disk?

├─sdc1? ?8:33? ?0? ?10G? 0 part?

└─sdc2? ?8:34? ?0? ?10G? 0 part [SWAP]? ? ? #新增加的swap分區的大小

sr0? ? ?11:0? ? 1? 3.7G? 0 rom? /run/media/root/CentOS_6.9_Final

sr1? ? ?11:1? ? 1? 8.1G? 0 rom? /run/media/root/CentOS 7 x86_64

8. 禁用新增的swap分

? ?# swapoff? /dev/sdc1

?

總結記憶:? swapon -a? 生效/etc/fstab 添加swap分區

? ? ? ? ? fdisk分區的時候注意使用t 修改磁盤的id 為82

? ? ? ? ? swpaon -s 查看swap分區信息

? ? ? ? ? swapoff /dev/sdc1 禁用swap分區

?

方法2: 文件模擬分區創建swap文件系統

?

1. dd if=dev/zero of=/data/swap_file bs=1G count=5? ?創建5G空間的大小的文件

? 發散思維: dd if=/dev/zero of=/dev/sdc1 bs=512 count=1? 可以干掉MBR的信息,你可以這樣刪除分區信息,也可以使用fdisk /dev/sdc 來使用d選項來刪除

? ? ? ? ? ?當然也可以不刪除bootloader的信息(446bytes),直接將64bytes的分區表信息填零,如:

? ? ? ? ? ?dd if=/dev/zero of=/dev/sdc1 bs=1 count=64 seek=446? 直接填充64bytes至 分區表,跳過目標 /dev/sdc1的前446bytes

? ? ? ? ? ?注意不能使用 dd if=/dev/zero of=/dev/sdc1 bs=64 count=1 seek=446

? ? ? ? ? ?hexdump -C /dev/sda -n 512 -v? 顯示sda分區的前512字節信息

? ? ? ? ? ?葵花寶典的套路: 記住玩之前先要備份MBR啊!哈哈哈,dd if=/dev/sdc1 count=/data/mbr.bak bs=512 count=1 (默認單位是字節)

? ? ? ? ? ?恢復的時候 可以直接 dd if=/dev/mbr.bak of=/dev/sdc1 不用給出bs和count了,因為只有512字節的備份信息,是吧。

? ? ? ? ? ?也可以使用dd if=/dev/zero of=/dev/null bs=1G count=2 這方法可以測試磁盤的讀寫速度,有興趣的可以試試

2. mkswap -L swap_file /data/swap_file? 創建swap文件系統

3. 為了永久生效,編輯配置文件/etc/fstab,永久生效配置修改配置文件似乎是linux的鐵律,你們覺得呢?因為使用的是文件模擬的分區,所以不要使用UUID喲!

? ?vim /etc/fstab

? ?/data/file2? ?swap? ? ? ? ? ? ? ? ? swap? ? ?defaults? ? ? ?0 0??

4.swapon -a? 讀取/etc/fstab中的swap分區信息

5.swapon -s? 查看swap分區的信息,順便看看自己剛剛創建的swap分區是否生效

6.swapoff /data/swap_file 不想玩了,可以直接禁用
?


最近在用一個自己裝的debian系統的時候,發現運行很多腳本的時候出現:Cannot fork。
網上說有可能是因為swap分區空間不夠導致的問題。然后看了一下swap空間的大小。居然大小是0M。
查看的命令是free -m。
難道真的是swap分區導致的問題?不管了,先添加個swap分區再說吧。

1.創建一個swap文件。

cd /var sudo mkdir swap sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000

count代表的是大小,我這里是2G。

2.把文件轉換為swap文件

在 var目錄執行:sudo mkswap swapfile

3.激活swap文件
這里可以直接用命令掛載上一個swap分區,但是重啟后要重新掛載:

掛載: sudo swapon /var/swapfile 如果不需要了,可以也可以卸載: 卸載:sudo swapoff /var/swapfile

4、如果需要開機啟動后自動掛載的話,可以把它添加到/etc/fstab文件中。

開機自動掛載SWAP分區,

編輯 /etc/fstab,末行添加:

在文件中增加:

/var/swapfile swap swap defaults 0 0

4.這樣就已經完成增加swap分區了??梢杂胒ree -m來參看結果。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Linux:Swap分区的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。