使用磁盘为Linux添加swap
一.SWAP 說明
?
1、SWAP 概述
當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。
以上是SWAP 交換分區的作用。 實際上,我們更關注的應該是SWAP分區的大小問題。 設置多大才是最優的。一般來說可以按照如下規則設置swap大小:
4G以內的物理內存,SWAP 設置為內存的2倍。
4-8G的物理內存,SWAP 等于內存大小。
8-64G 的物理內存,SWAP 設置為8G。
64-256G物理內存,SWAP 設置為16G。
實際上,系統中交換分區的大小并不取決于物理內存的量,而是取決于系統中內存的負荷,所以在安裝系統時要根據具體的業務來設置SWAP的值。
2、系統在什么情況下才會使用SWAP?
實際上,并不是等所有的物理內存都消耗完畢之后,才去使用swap的空間,什么時候使用是由swappiness 參數值控制。
該值默認值是60。swappiness=0的時候表示最大限度使用物理內存,然后才是 swap空間,swappiness=100的時候表示積極的使用swap分區,并且把內存上的數據及時的搬運到swap空間里面?,F在服務器的內存動不動就是上百G,所以我們可以把這個參數值設置的低一些,讓操作系統盡可能的使用物理內存,降低系統對swap的使用,從而提高系統的性能。
二.使用磁盤為Linux添加swap
? 查看磁盤及分區信息
[root@ip-192-168-31-161 ~]# fdisk -lDisk /dev/xvda: 193.3 GB, 193273528320 bytes, 377487360 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000da64dDevice Boot Start End Blocks Id System /dev/xvda1 * 2048 377487359 188742656 83 LinuxDisk /dev/mapper/docker-202:1-385876097-pool: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 65536 bytes / 65536 bytesDisk /dev/xvdf: 4294 MB, 4294967296 bytes, 8388608 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
添加新的分區
查看磁盤及分區信息
?
可以看到/dev/xvdf1是新創建的分區,注意這里fdisk ID的編號。 這里顯示的83,它代表這個分區是ext的分區,這個是不能用來做swap的。我們繼續更改
[root@ip-192-168-31-161 ~]# fdisk /dev/xvdf Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them. Be careful before using the write command.Command (m for help): l (list known partition types)0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Command (m for help): m Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'Command (m for help): w The partition table has been altered!Calling ioctl() to re-read partition table. Syncing disks.
查看磁盤及分區信息
?
格式化swap分區:
[root@rhce /]# mkswap /dev/xvdf1 Setting up swapspace version 1, size = 1060252 KiB no label, UUID=39c73cf6-1848-4a78-83ec-35089f0eebcb[root@ip-192-168-31-161 ~]# blkid
/dev/xvda1: LABEL="centos7_root" UUID="179c37d9-9ba3-47f2-ab50-cf76dec5ef8e" TYPE="xfs" /dev/loop0: UUID="0c7e9760-c4df-4d5b-b0b6-b2f4487e757b" TYPE="ext4" /dev/mapper/docker-202:1-385876097-pool: UUID="0c7e9760-c4df-4d5b-b0b6-b2f4487e757b" TYPE="ext4" /dev/xvdf1: UUID="39c73cf6-1848-4a78-83ec-35089f0eebcb" TYPE="swap"
?
手工的啟動swap
[root@ip-192-168-31-161 ~]# swapon /dev/xvdf1[root@ip-192-168-31-161 ~]# swapon -s
?
將/dev/xvdf1添加/etc/fstab文件,系統啟動自動加載swap
[root@ip-192-168-31-161 ~]# vi /etc/fstab # # /etc/fstab # Created by anaconda on Tue Jul 8 16:48:19 2014 # # 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 # LABEL=centos7_root / xfs defaults 1 1 UUID=39c73cf6-1848-4a78-83ec-35089f0eebcb swap swap defaults 0 0?
總結
以上是生活随笔為你收集整理的使用磁盘为Linux添加swap的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web中的classpath 和 cla
- 下一篇: linux signal 处理