歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Linux系統下交換分區和交換文件的含義

當程序需要的內存比電腦上擁有的物理內存還要大的時候,不管是 Windows 也好,Linux 也好,解決辦法就是把存不下的東西轉移到硬盤上的“虛擬內存”中去,盡管硬盤的速度比內存慢上很多,但是至少容量要大上很多。
 
  另外,操作系統也可以把一些很久不活動的程序轉移到虛擬內存中去,留出更多的主內存給需要的程序和磁盤緩沖。
 
  Linux 在安裝的時候,一般需要劃出一個分區作為 Linux 的“交換分區”,作為虛擬內存內容的保存分區。
 
  swapon -s 這個命令,可以查看當前系統的虛擬內存的情況,這條命令需要 root 來運行。
 
  Filename Type Size Used Priority
 
  /dev/sda3 partition 1004052 0 -1
 
  可以看到常常看到當前的交換分區為 /dev/sda3,第 2 欄的 Type 中顯示為 partition,說明這是個交換分區,那麼,還有其他的 Type 嗎?
 
  當然,其實 Linux 也可以像 Windows 一樣,用交換文件來保存虛擬內存的內容,這樣即使你忘記劃出交換分區也不要緊,而且靈活性上會更大一些。下面我們看看如何創建交換文件。
 
  交換文件和交換分區一樣,大小是固定的,比如你想要一個 1G 的交換文件,那麼首先要創建一個 1G 的空白文件,我們用 dd 這個工具來完成這個任務:
 
  dd if=/dev/zero of=/swapfile bs=1024 count=1048576
 
  1048576 就是 1G 用 KB 表示的大小,如果你想要其他大小的文件,更改這個數字即可。
 
  上面的命令,會在根目錄下創建 swapfile 這個文件,然後,我們需要將它格式化為交換文件的格式:
 
  mkswap /swapfile
 
  然後把掛載上去,就可以立刻應用這個交換文件了:
 
  swapon /swapfile
 
  你可以運行 swapon -s 查看一下:
 
  Filename Type Size Used Priority
 
  /dev/sda3 partition 1004052 0 -1
 
  /swapfile file 1048486 0 -2
 
  多出來了一項,Type 為 file,確實是我們創建的交換文件,系統已經在使用了。
 
  如果你想開機的時候自動掛載這個交換文件,那麼還要在 /etc/fstab 中加上下面這一句:
 
  /swapfile none swap sw 0 0
 
  這樣就 OK 了。
 
  經常有人問,虛擬內存要設多大才合適,是主內存的幾點幾倍性能最好雲雲,其實作為一般用途來講,1~2G 就到頂了,妄想從虛擬內存上提高系統性能,是不可能的,去買內存條才是王道

Copyright © Linux教程網 All Rights Reserved