Linux 修改swap虛擬內存大小

[root@gamedb ~]# free m

[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000

[root@gamedb tmp]# du -sh /tmp/big_swap

[root@gamedb tmp]# mkswap /tmp/big_swap

[root@gamedb tmp]# swapon /tmp/big_swap

[root@gamedb tmp]# free m

[root@gamedb tmp]# vi /etc/fstab

# LABEL=SWAP-hda2         swap                    swap   defaults        0 0

  /tmp/big_swap           swap                    swap   defaults        0 0

 

=========================================================================================== 

一、查看內存和swap大小,發現swap是內存大小的一半

 [root@gamedb ~]# free -m

             total       used       free     shared   buffers     cached

Mem:          1001        338        662         0          8        307

-/+ buffers/cache:         22        978

Swap:          509          0        509

=========================================================================================== 

二、決定修改swap大小,首先在空間合適處創建用於分區的swap文件

[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000

讀入了 2000000+0 個塊

輸出了 2000000+0 個塊

(注意:if 表示 infile,of 表示outfile,bs=1024 表示寫入的每個塊的大小爲1024B=1KB(1024B字節=1024*8bit位)

 ===========================================================================================

三、查看創建的文件大小是否符合要求:

[root@gamedb tmp]# du -sh big_swap

2.0G    big_swap

[root@gamedb tmp]# ls -al big_swap

-rw-r--r--  1 root root 2048000000  6 18 11:55 big_swap

 ===========================================================================================

四、將目的文件設置爲swap分區文件

[root@gamedb tmp]# mkswap big_swap

Setting up swapspace version 1, size = 2047995 kB

 ===========================================================================================

五、激活swap,立即啓用交換分區文件:

[root@gamedb tmp]# swapon big_swap

 ===========================================================================================

六、再次查看內存和虛擬內存,發現已經被正常修改:

[root@gamedb tmp]# free -m

             total       used       free     shared   buffers     cached

Mem:          1001        984         16         0          2        931

-/+ buffers/cache:         50        950

Swap:         2462          0       2462

 ===========================================================================================

七、若要想使開機時自啓用則需修改文件/etc/fstab中的swap

[root@gamedb tmp]# vi /etc/fstab

# LABEL=SWAP-hda2         swap                    swap   defaults        0 0

  /tmp/big_swap           swap                    swap   defaults        0 0

 ===========================================================================================

 

 

附:fstab文件詳解:

fstab中存放了與分區有關的重要信息,其中每一行爲一個分區記錄,每一行又可分爲六個部份,下面以 /dev/hda7 / ext2 defaults 1 1 爲例逐個說明:

  1. 第一項是您想要mount的儲存裝置的實體位置,如hdb/dev/hda6

  2. 第二項就是您想要將其加入至哪個目錄位置,如/home/,這其實就是在安裝時提示的掛入點。

  3. 第三項就是所謂的local filesystem,其包含了以下格式:如extext2msdosiso9660nfsswap等,或如ext2,可以參見/prco/filesystems說明。

  4. 第四項就是您mount時,所要設定的狀態,如ro(只讀)或defaults(包括了其它參數如rwsuidexecautonouserasync),可以參見「mount nfs」。

  5. 第五項是提供DUMP功能,在系統DUMP時是否需要BACKUP的標誌位,其內定值是0。該選項被dump命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置該字段爲0

  6. 第六項是設定此filesystem是否要在開機時做check的動作,除了rootfilesystem其必要的check1之外,其它皆可視需要設定,內定值是0。該字段被fsck命令用來決定在啓動時需要被掃描的文件系統的順序,根文件系統/對應該字段的值應該爲1,其他文件系統應該爲2。若該文件系統無需在啓動時掃描則設置該字段爲0


第四個選項參數:
ro 
以只讀模式加載該文件系統 
sync 
不對該設備的寫操作進行緩衝處理,這可以防止在非正常關機時情況下破壞文件系統,但是卻降低了計算機速度 
user 
允許普通用戶加載該文件系統 
quota 
強制在該文件系統上進行磁盤定額限制 
noauto 
不再使用mount a命令(例如系統啓動時)加載該文件系統 
noexec
(不允許可執行文件可執行,但千萬不要把根分區掛爲noexec,那就無法使用系統了,連mount 命令都無法使用了,這時只有重新做系統了!
nodev
(不允許掛載設備文件)
nosuid,nosgid
(不允許有suidsgid屬性)
nouser
(不允許普通用戶掛載)
 

如果想開機就自動掛載(mount)上,可以在/etc/fstab上添加如下幾行,同樣也可以用mount/etc/rc.d/rc.local裏啓動:
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda6 /mnt/e vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda7 /mnt/f vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章