swap分區擴容

swap交換文件系統管理:vim

swap解決內存不足,另外某些app軟件硬性要求swap大小。把硬盤看成內存使用。bash


swap內存通常分爲多大呢?服務器

       通常當物理內存爲<=4G時候swap內存應爲物理內存的1.5-2倍app

       物理內存大於4G時候,建議和物理內存同樣大ide

1)swap生成的方式:測試

    a.安裝系統時劃分的。ui

    b.使用硬盤格式化後生成。spa

 

安裝系統後建立swap分區的流程:code

 

  1. 對硬盤分區內存

  2. 格式化

  3. 掛載

  4. 查看驗證


建立分區生成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 ~]#
相關文章
相關標籤/搜索