Linux 下 緩存機制和swap分區


Swap用途:

Swap意思是交換分區,通常我們說的虛擬內存,是從硬盤中划分出的一個分區。當物理內存不夠用的時候,內核就會釋放緩存區(buffers/cache)里一些長時間不用的程序,然后將這些程序臨時放到Swap中,也就是說如果物理內存和緩存區內存不夠用的時候,才會用到Swap。

swap清理:swapoff -a && swapon -a

注意:這樣清理有個前提條件,空閑的內存必須比已經使用的swap空間大

建議 swap 分區的大小是內存的兩倍,但不超過 2GB。但是有時服務器的訪問量確實很大,有可能出現 swap 分區不夠用的情況,所以我們需要學習 swap 分區的構建方法。建立新的 swap 分區,只需要執行以下幾個步驟。

  1. 分區:不管是 fdisk 命令還是 parted 命令,都需要先區。
  2. 格式化:格式化命令稍有不同,使用 mkswap 命令把分區格式化成 swap 分區。
  3. 使用 swap 分區。

實例操作后續添加......

----------------------------------------------------------------------------

Linux的SWAP分區空間不夠用的情況下,如何添加SWAP分區

通常情況下,SWAP空間應大於或等於物理內存的大小,最小不應小於64M,通常應是物理內存的2-2.5倍。但根據不同的應用,應有不同的配置。如果是小的桌面系統,則只需要較小的SWAP空間,而大的服務器系統則視情況不同需要不同大小的SWAP空間。特別是數據庫服務器和Web服務器,隨着訪問量的增加,對SWAP空間的要求也會增加。

方式一、通過新建磁盤文件的方式增加SWAP空間:

>> dd if=/dev/zero of=swapfree bs=32k count=32768      #新建一個磁盤文件(32*32768=1048576KB,亦等於1024MB)。
>> /sbin/mkswap /home/swap            #格式化成SWAP分區
>> /sbin/swapon /home/swap            #啟動新的SWAP分區
>> /sbin/swapon -s                    #檢查SWAP分區

現在再用free -m命令查看一下內存和swap分區大小,就發現增加了1024M的空間了。不過當計算機重啟了以后,發現swap還是原來那么大,新的swap沒有自動啟動,還要手動啟動。那我們需要修改/etc/fstab文件,增加如下一行

/home/swap swap swap defaults 0 0

方式二、通過磁盤分區增加SWAP空間:

> /sbin/mkswap /dev/sdb1   #格式化成SWAP分區
> /sbin/swapon /dev/sdb1    #啟動新的SWAP分區
> /sbin/swapon -s               #檢查SWAP分區

修改/etc/fstab文件,讓其永久生效:

/dev/sdb1 swap swap defaults 0 0

二、查看緩存區及內存使用情況

free 命令主要是用來査看內存和 swap 分區的使用情況的,其中:

  • total:是指總數;
  • used:是指已經使用的;
  • free:是指空閑的;
  • shared:共享內存(Shared memory),主要用於在UNIX 環境下不同進程之間共享數據,是進程間通信的一種方法,一般的應用程序不會申請使用共享內存
  • buffers:是指緩沖內存數;
  • cached:是指緩存內存數,單位是KB;
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:        257853      48822     209030          0        594      43939
-/+ buffers/cache:       4288     253564
Swap:        30719          0      30719

buffers和cached解釋:

buffer和cache都是內存中的一塊區域,當CPU需要寫數據到磁盤時,由於磁盤速度比較慢,所以CPU先把數據存進buffer,然后CPU去執行其他任務,buffer中的數據會定期寫入磁盤;

當CPU需要從磁盤讀入數據時,由於磁盤速度比較慢,可以把即將用到的數據提前存入cache,CPU直接從Cache中拿數據要快的多。

 

參考文檔:  http://blog.sina.com.cn/s/blog_af6bb6bc0102v1ik.html

          https://www.cnblogs.com/kevingrace/p/5991604.html

 


免責聲明!

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



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