linux中增加swap分區文件的步驟方法


   一.swap交換分區

   Swap分區在系統的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。

   用於物理內存不足時,調用硬盤的一部分來充當內存使用,這個就是所謂的虛擬內存。類似Windowspagesfile.sys.

         二.swap分區大小

       分區時一般設定:swap分區的大小=1.5*物理內存容量內存比較小的時候(8G8G以下)可以為內存的1.5-2倍(因為內存小的時候,內存很容易被充滿,這個時候就要把交換分區分大點)。

      正常情況下,當內存充足的時候,swap分區是不會被使用的,因此,一旦發生內存充足,而swap使用了很多,說明應用程序等進程有內存泄露,此時就要和開發程序人員一起來分析哪里內存泄露當系統使用swap分區用的越多,系統性能反而會下降,某些大型數據庫也可能不使用swap分區,也是可以考慮的,不過,這也會帶來內存耗盡,服務直接掛掉的風險。swap是內存不夠時的一個緩沖地帶。雖然,服務器不會掛掉,這點就仁者見仁了

 

      三.linux中增加swap分區文件的步驟方法:

1、檢查當前的分區情況(使用free -m或cat /proc/swaps ):

[root@iZ2zee7gmybverl53rfZ ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3828       3359        469          0        104        186
-/+ buffers/cache:       3068        760
Swap:            0          0          0
[root@iZ2zee7gmybverl53rfZ ~]# 

2、增加交換分區文件及大小:
檢查沒有swap,下面就需要增加:
判定新交換文件的大小,將大小乘以1024來判定塊的大小。例如,大小為64MB的交換文件的塊大小為65536,在 shell 提示下以根用戶身份鍵入以下命令,其中的 count 等於想要的塊大小。  

[root@iZ2zee7gmybverl53rfZ ~]# dd if=/dev/zero of=/var/swap bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 27.1894 s, 38.6 MB/s
[root@iZ2zee7gmybverl53rfZ ~]# ll /var/swap 
-rw-r--r-- 1 root root 1048576000 Nov 16 14:20 /var/swap
[root@iZ2zee7gmy40tbverl53rfZ ~]# ll -h  /var/swap 
-rw-r--r-- 1 root root 1000M Nov 16 14:20 /var/swap

 

3.使用以下命令來設置交換文件:

[root@iZ2zee7gmybverl53rfZ ~]# mkswap /var/swap 
mkswap: /var/swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=fe9d1189-aaa7-4744-a056-5126ee051632
[root@iZ2zee7gmy40tbverl53rfZ ~]#

 

4.啟用交換分區文件:
要立即啟用交換文件而不是在引導時自動啟用,使用以下命令:
 [root@db2 root]# swapon /var/swap

檢查增加后的交換情況: 

[root@iZ2zee7gmybverl53rfZ ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3828       3714        114          0         43        593
-/+ buffers/cache:       3077        751
Swap:          999          0        999
[root@iZ2zee7gmybverl53rfZ ~]# 

5.加入開機掛載

要在引導時啟用,編輯 /etc/fstab 文件來包含以下行(/var/swap               swap                    swap    defaults        0 0 ):

[root@iZ2zee7gmybverl53rfZ ~]# cp /etc/fstab /etc/fstab.bak    ###操作掛載文件時,一定要備份,否則修改失敗時,會造成不能開機的危險。

[root@iZ2zee7gmy40tbverl53rfZ ~]# ll /etc/fstab*                ###備份完畢后,檢查是否備份成功
-rw-r--r-- 1 root root 693 Nov 16 14:28 /etc/fstab
-rw-r--r-- 1 root root 617 Nov 16 14:27 /etc/fstab.bak

[root@iZ2zee7gmybverl53rfZ ~]# cat /etc/fstab                  ##            修改完掛載文件后查看

#
# /etc/fstab
# Created by anaconda on Thu Feb 23 07:28:22 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3d083579-f5d9-4df5-9347-8d27925805d4 /                       ext4    defaults        1 1
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
/var/swap              swap                     swap    defaults        0 0
[root@iZ2zee7gmybverl53rfZ ~]#

系統下次引導時,它就會啟用新建的交換文件   。       
再次檢查添加后的情況:

[root@iZ2zee7gmybverl53rfZ ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3828       3717        111          0         43        595
-/+ buffers/cache:       3077        750
Swap:          999          0        999
[root@iZ2zee7gmybverl53rfZ ~]# 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM