swap交換文件系統管理:vim
swap解決內存不足,另外某些app軟件硬性要求swap大小。把硬盤看成內存使用。bash
swap內存通常分爲多大呢?服務器
通常當物理內存爲<=4G時候swap內存應爲物理內存的1.5-2倍app
物理內存大於4G時候,建議和物理內存同樣大ide
1)swap生成的方式:測試
a.安裝系統時劃分的。ui
b.使用硬盤格式化後生成。spa
安裝系統後建立swap分區的流程:code
對硬盤分區內存
格式化
掛載
查看驗證
建立分區生成swap分區
fdisk -l /dev/sdb
free -m ##查看swap的大小,同時也會顯示內存大小
fdisk -cu /dev/sdb##n-p-1-回車-+2G-t-82-w
partx -a /dev/sdb ##重讀分區表
cat /proc/partitions ##查看磁盤及分區信息
mkswap /dev/sdb1 ##格式化swap,新建swap
swapon /dev/sdb1 ##臨時啓用swap
free -m ##查看驗證
swapon -s ##查看swap詳細信息
vi /etc/fstab ##永久掛載
/dev/sdb1 swap swap defaults 0 0
:wq
mount -a ##驗證 (mound沒法查到這種方式掛載的swap分區,)
swapoff /dev/sdb1 ##中止swap
swapon -s ##驗證
free -m
使用文件格式化後生成swap分區
dd if=/dev/zero of=/swap bs=1G count=2 ##生成文件,/dev/zero由二進制0組成的文件
ls /swap
du -sh /swap ##查看大小
mkswap -f /swap ##新建swap文件系統
swapon /swap ##臨時啓用
swapon -s
free -m
vi /etc/fstab
/swap swap swap defaults 0 0
:wq
mount -a
reboot
2)swap的管理:查看、啓用、禁用、開機掛載
查看:swapon -s
啓用:swapon 分區
禁用:swapoff 分區
開機掛載:echo "分區 swap swap defaults 0 0">>/etc/fstab;mount -a
拷貝數據流的命令:
dd if=源文件 of=輸出目標 bs=一次拷貝的大小 count=拷貝總數 ##能夠盤對盤拷貝數據,製做U盤啓動,測試磁盤配額等
案例一: 建立swap分區,對swap進行擴容
在服務器上新加入一塊磁盤進行測試
fdisl -l /dev/sdb ##查看磁盤sdb的信息
[root@localhost ~]# fdisk -l /dev/sdb 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 / 512 bytes Disk identifier: 0x00000000
給磁盤進行分區,分區大小調整到想要爲swap擴展的大小,而後選擇分區類型爲82(82是swap類型的分區格式)
fdisk /dev/sdb
輸入 n 回車 ##新建分區
輸入 p 回車 ##新建主分區
輸入1 回車 ##選擇新建第一個分區
回車 ##選擇新建分區的位置,回車選擇默認
輸入 +2G ##輸入新建分區的大小
輸入 t ##輸入t 選擇分區類型
輸入 82 ## 分區類型選擇82swap
輸入 p ##打印出分區信息
輸入 w ##保存新建分區
[root@localhost ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x30ddcc05. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) 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 Partition number (1-4): 1 First cylinder (1-2610, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G Command (m for help): t Selected partition 1 Hex code (type L to list codes): 82 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 / 512 bytes Disk identifier: 0x30ddcc05 Device Boot Start End Blocks Id System /dev/sdb1 1 262 2104483+ 82 Linux swap / Solaris Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
查看分區信息,能夠看到剛新建的sdb1分區。
[root@leslie ~]# cat /proc/partitions major minor #blocks name 8 0 83886080 sda 8 1 512000 sda1 8 2 83373056 sda2 8 16 20971520 sdb 8 17 2104483 sdb1 253 0 52428800 dm-0 253 1 2031616 dm-1 253 2 28909568 dm-2
格式化分區爲swap
[root@leslie ~]# mkswap /dev/sdb1 Setting up swapspace version 1, size = 2104476 KiB no label, UUID=3c61e26d-6693-4f6a-960c-c50e0cda27a2
臨時啓用swap分區 (臨時關閉使用swapoff /dev/分區名)
[root@leslie ~]# swapon /dev/sdb1 [root@leslie ~]# free -m ##查看內存信息包括swap分區 total used free shared buffers cached Mem: 474 123 351 0 9 37 -/+ buffers/cache: 76 398 Swap: 4039 0 4039 [root@leslie ~]# swapon -s ##顯示swap詳細信息 FilenameTypeSizeUsedPriority /dev/dm-1 partition20316080-1 /dev/sdb1 partition21044720-2
永久掛載:(因爲臨時掛載在系統重啓後就會失效,這裏使用永久掛載長駐系統)
編輯/etc/fstab文件實現開機掛載存儲分區swap。
##這裏使用重定向輸入的方法寫入信息到配置文件,能夠使用vim進入文件寫
[root@leslie ~]# echo "/dev/sdb1 swap swap defaults 0 0" >>/etc/fstab [root@leslie ~]# tail -1 /etc/fstab /dev/sdb1 swap swap defaults 0 0
案例二: 使用文件對swap分區擴容。
生成一個咱們要對swap分區擴容大小的文件。
##dd 命令能夠生成任意大小任意數量的文件
if=/dev/zero(這個是從哪一個地方取文件,zero是無限大的一個邏輯設備)
of=/swap(這個是生成文件的位置/名稱)
bs=1G(生成文件的大小)
connt=2(生成2個1G,)
(總的意思就是憑空生成一個大小爲2G的文件swap)
[root@leslie ~]# dd if=/dev/zero of=/swap bs=1G count=2 記錄了2+0 的讀入 記錄了2+0 的寫出 2147483648字節(2.1 GB)已複製,188.949 秒,11.4 MB/秒
查看生成文件的大小:
[root@leslie ~]# du -sh /swap 2.1G/swap
將生成的文件格式化爲wap分區
[root@leslie ~]# mkswap /swap -f Setting up swapspace version 1, size = 2097148 KiB no label, UUID=92711869-3c7d-4264-9961-25f2c8e66677
臨時啓用swap分區
[root@leslie ~]# swapon /swap [root@leslie ~]# free -m ##查看內存信息 total used free shared buffers cached Mem: 474 74 400 0 2 17 -/+ buffers/cache: 54 420 Swap: 4031 22 4009 [root@leslie ~]# swapon -s ##查看swap分區信息 FilenameTypeSizeUsedPriority /dev/dm-1 partition203160823296-1 /swap file20971440-2
開機掛載swap分區:
[root@leslie ~]# echo "/swap swap swap defaults 0 0 ">>/etc/fstab [root@leslie ~]# tail -1 /etc/fstab /swap swap swap defaults 0 0 [root@leslie ~]#