????? swap是內存的交換區;換句話說,如果內存不夠用了,那么系統會在硬盤上存儲一些內存中不常用的數據,之后將這部分數據在存儲中析構掉;這樣內存就又有剩余空間可以運行東東啦,這個過程也就是所謂的交換,存儲數據的硬盤部分就是swap分區。 裝系統的時候可能會將swap大小設置的不合適 但是swap的大小不正確,很影響服務器的性能。下面說說怎么修改swap分區的大小。
1、查看系統Swap空間使用
[root@localhost mapper]# free -mtotal used free shared buffers cached Mem: 1006 753 252 3 32 526 -/+ buffers/cache: 195 810 Swap: 100 0 100
?
2、創建swap文件
[root@localhost mapper]# cd /usr [root@localhost usr]# mkdir swap [root@localhost usr]# cd swap [root@localhost swap]# ll 總用量 0 [root@localhost swap]# dd if=/dev/zero of=/usr/swap/swapfile1 bs=1024 count=1000000 記錄了1000000+0 的讀入 記錄了1000000+0 的寫出 1024000000字節(1.0 GB)已復制,5.40277 秒,190 MB/秒
(注意:if 表示 infile,of 表示outfile,bs=1024 表示寫入的每個塊的大小為1024B=1KB(1024B字節=1024*8bit位)
?
3、查看創建文件的大小
[root@localhost swap]# du -sh /usr/swap/swapfile1 977M /usr/swap/swapfile1
?
4、將目標文件設置為swap分區文件
[root@localhost swap]# mkswap /usr/swap/swapfile1 Setting up swapspace version 1, size = 999996 KiB no label, UUID=7eec8e34-e5d9-48f7-aa71-028268a48e46
?
5、激活swap,立即啟用交換分區文件
[root@localhost swap]# swapon /usr/swap/swapfile1
?
6、若要想使開機時自啟用,則需修改文件/etc/fstab中的swap行
[root@localhost swap]# vi /etc/fstab
# # /etc/fstab # Created by anaconda on Mon May 11 19:35:55 2015 # # 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 # /dev/mapper/vg_localhost-lv_root / ext4 defaults 1 1 UUID=cef520a0-df77-4ce1-8856-514d154c816d /boot ext4 defaults 1 2 #/dev/mapper/vg_localhost-lv_swap swap swap defaults 0 0 /usr/swap/swapfile1 swap swap defaults 0 0 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
?
fstab文件詳解
fstab中存放了與分區有關的重要信息,其中每一行為一個分區記錄,每一行又可分為六個部份,下面以 /dev/hda7 / ext2 defaults 1 1 為例逐個說明:?
1) 第一項是您想要mount的儲存裝置的實體位置,如hdb或/dev/hda6。
2) 第二項就是您想要將其加入至哪個目錄位置,如/home或/,這其實就是在安裝時提示的掛入點。
3) 第三項就是所謂的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以參見/prco/filesystems說明。
4) 第四項就是您mount時,所要設定的狀態,如ro(只讀)或defaults(包括了其它參數如rw、suid、exec、auto、nouser、async),可以參見「mount nfs」。
5) 第五項是提供DUMP功能,在系統DUMP時是否需要BACKUP的標志位,其內定值是0。該選項被dump命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設置該字段為0。
6) 第六項是設定此filesystem是否要在開機時做check的動作,除了root的filesystem其必要的check為1之外,其它皆可視需要設定,內定值是0。該字段被fsck命令用來決定在啟動時需要被掃描的文件系統的順序,根文件系統/對應該字段的值應該為1,其他文件系統應該為2。若該文件系統無需在啟動時掃描則設置該字段為0。
第四個選項參數
ro 以只讀模式加載該文件系統
sync 不對該設備的寫操作進行緩沖處理,這可以防止在非正常關機時情況下破壞文件系統,但是卻降低了計算機速度
user 允許普通用戶加載該文件系統
quota 強制在該文件系統上進行磁盤定額限制
noauto 不再使用mount -a命令(例如系統啟動時)加載該文件系統
noexec(不允許可執行文件可執行,但千萬不要把根分區掛為noexec,那就無法使用系統了,連mount 命令都無法使用了,這時只有重新做系統了!
nodev(不允許掛載設備文件)
nosuid,nosgid(不允許有suid和sgid屬性)
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