Linux操作系统设置交换分区swap大小一般为,linux中swap分区的作用
我。交换描述
1.1互换概述
当系统的物理内存不够用时,需要在物理内存中释放一些空间给当前运行的程序。那些释放出来的空间可能来自于一些很久没有运行的程序。这些释放的空间被临时保存在交换空间中,然后当那些程序将要运行时,保存的数据被从交换空间恢复到内存中。这样,当物理内存不足时,系统总是执行交换。
这就是SWAP交换分区的功能。实际上,我们应该更加关注交换分区的大小。最佳设置是多大?
一般来说,可以根据以下规则设置交换大小:
4G物理内存内,SWAP设置为2倍内存。
4-8G物理内存,SWAP等于内存大小。
8-64G物理内存,SWAP设置为8G。
64-256G物理内存,SWAP设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的大小,而是取决于系统中内存的负载。所以在安装系统的时候要根据具体的业务来设置swap值。
1.2系统在什么情况下会使用SWAP?
实际上,直到所有的物理内存都用完了,才使用交换空间,何时使用由交换参数的值控制。
[root @ rhce ~]# cat/proc/sys/VM/swappiness
60
该值的默认值是60。
Swappiness=0表示最大限度地使用物理内存,其次是交换空间。
Swappiness=100表示积极使用交换分区,内存中的数据及时传输到交换空间。
目前服务器的内存总是几百GB,我们可以把这个参数的值设置的低一些,让操作系统尽可能的使用物理内存,减少系统对swap的使用,从而提高系统的性能。
1.3如何修改swappiness参数?
-临时修改:
[root @ rhce ~]# sysctl VM . swappiness=10
vm.swappiness=10
[root @ rhce ~]# cat/proc/sys/VM/swappiness
10
我们这里的修改已经生效,但是如果重启系统,就会变成60。
-永久修改:
在/etc/sysctl.conf文件中添加以下参数:
vm.swappiness=10
或者:
[root @ rhce ~]# echo VM . swappiness=10 /etc/sysctl . conf
保存,重启,就生效了。
二。管理互换
2.1检查系统的当前交换空间大小。
[root@dave ~]# free -m
缓存的已用空闲共享缓冲区总数
记忆:1954年1923年31月21日1345
-/缓冲区/缓存:555 1399
互换:1999年21日1978年
2.2释放交换空间
假设我们的系统出现了性能问题,通过vmstat命令看到了大量的交换,而且我们的物理内存足够,那么我们可以手动释放交换空间。让进程使用物理内存来提高性能。
[root@dave ~]# vmstat 1 5
处理器-内存-交换- io -系统- cpu -
r bswpd免费缓冲区缓存如果sobi bo incs us sy id wa st
0 022272 32620 22032 1378312 00 33 380 411 2 96 0 0
0 022272 32612 22032 1378340 00 0 0902 1627 0 5 950 0
0 022272 32612 22032 1378340 00 0 0905 1636 1 8 910 0
0 022272 32612 22032 1378340 00 0 32907 1616 0 6 940 0
0 022272 32612 22032 1378340 00 0 0924 1651 0 8 920 0
[root@dave ~]#
[root@dave ~]# free -m
已用空闲共享缓冲区总数缓存
记忆:1954年1923年31月21日1345
-/缓冲区/缓存:555 1399
互换:1999年21日1978年
注意:free命令的默认单位是k,-m的单位是m,我们这里的交换使用了21M的空间。
-检查当前的交换使用情况。
[root@dave ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区2047992 22272 -1
[root@dave ~]# cat /proc/swaps
文件名类型大小使用优先级
/dev/sda2分区2047992 22272 -1
[root@dave ~]#
swapons等于cat/proc/swaps
-关闭交换分区:
[root@dave ~]# swapoff/dev/sda2
[root@dave ~]# swapon -s
文件名类型大小使用优先级
-检查交换的使用情况:
[root@dave ~]# free -m
缓存的已用空闲共享缓冲区总数
记忆:1954年1939年15月21日1343
-/缓冲区/缓存:573 1381
交换:0 0 0
-启用交换分区:
[root@dave ~]# swapon /dev/sda2
-验证状态:
[root@dave ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区2047992 0 -1
这里/dev/sda2是我们在安装操作系统时划分的磁盘分区。实际上,我们也可以使用文件来做为交换分区。具体后面会演示。
我们上面写的是具体名称,也可是使用关闭所有交换区进程,演示如下:
[root@dave ~]# swapoff -a
[root@dave ~]# swapon -s
文件名类型大小使用优先级
[root@dave ~]# swapon -a
[root@dave ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区2047992 0 -1
[root@dave ~]#
我们查看/etc/fstab文件,我们的交换也配置到开启自动启动了。
[root@dave ~]# cat /etc/fstab
#
# /etc/fstab
#由水蟒在2012年8月15日星期三00:09:26创建
#
#可访问的文件系统通过引用维护在"/dev/disk "下
#有关更多信息,请参见fstab(5)、findfs(8)、mount(8)和/或blkid(8)手册页
#
UUID=beea 0820-3ac 3-4551-9bf 0-1 B2 a 462d 3a B4/ext 4默认值1 1
UUID=e5ec 9543-143 f-4e3b-b8a 7-4fa 05b 01836 a/boot ext 4默认值1 2
UUID=b 256 c 0 bb-9000-456 b-b9eb-18239 b 5d F5 DD互换交换默认值00
tmpfs /dev/shm tmpfs默认值0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs默认值0 0
过程/过程过程默认值0 0
(1)分机分区是否启用由增加及卸载控制。
(2)互换分区是否启动,由打开交换文件和设备及关闭系统交换区控制。
我们对交换空间的释放,也是通过关闭交换分区,在启动交换分区来实现的。
-在根目录下生成一个文件:交换文件,大小1G:
[root @ Dave u01]# DD if=/dev/zero of=/swap-filebs=1M count=1024
中有1024 0条记录
1024 0项记录已完成
复制了1073741824字节(1.1 GB),5.91518秒,182 MB/秒
[root@dave u01]# cd /
[root@dave /]# ls
bincgroup etc liblost找到杂项netproc sbin srvsys u01 usr
引导开发主库64媒体管理选择根selinux交换文件u02变量
[root@dave /]#
-将生成的文件格式化成交换分区:
[root@dave /]# mkswap /swap-file
mkswap: /swap-file:警告:不要擦除bootbitssectors
在整个磁盘上。使用-f强制。
设置交换空间版本1,size=1048572 KiB
无标签,UUID=653 bbeb 5-4 abb-4295-b110-5847 e 073140d
-这里没有分区的标签,只有一个UUID。
[root@dave /]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区2047992 0 -1
/swap-file文件1048568 0 -2
这里我们就看到了2个交换。
但是这个只对当前有效,如果想下次重启系统后还继续有效,需要将配置写入到/etc/fstab文件中。
在/etc/fstab文件中添加如下内容:
UUID=653 bbeb 5-4 abb-4295-b110-5847 e 073140d互换互换默认值0 0
或者:
/swap-文件交换交换默认值0 0
[root@rhce /]# fdisk /dev/sdb
设备既不包含有效的磁盘操作系统分区表,也不包含孙、SGI或方济各会(Order of St.Francis)开放软体基金会(Open Software Foundation)磁盘标签
正在建立磁盘标识符为0x65edb587的新磁盘操作系统磁盘标签。
更改只会保留在内存中,直到您决定写入它们。
当然,在此之后,以前的内容将无法恢复。
警告:分区表四的无效标志0x0000将由w(礼)更正
警告:DOS兼容模式已被否决。强烈建议
关闭模式(命令“c”)并将显示单位更改为
扇区(命令" u ").
命令(m表示帮助):n
命令动作
e扩展
p主分区(1-4)
p
分区号(1-4): 1
第一个气缸(1-652,默认为1):
使用默认值一
最后一个气缸,气缸或尺寸{K,M,G} (1-652,默认为652): 1G
命令(m表示帮助):w
分区表被改动了!
调用ioctl()重新读取分区表。
同步磁盘。
[root@rhce /]# fdisk -l
磁盘/开发/sda: 21.5 GB,21474836480字节
255个磁头,63个扇区/磁道,2610个柱面
单位=16065 * 512的柱面=8225280字节
扇区大小(逻辑/物理):512字节/512字节
输入输出大小(最小/最佳):512字节/512字节
磁盘标识符:0x000bcd24
设备启动开始结束块(同suddenionosphericdisturbance)电离层的突然骚扰系统
/dev/sda1* 1 1281024000 83 Linux
分区一没有在柱面边界上结束。
/dev/sda 2 128 5113072000 82 Linux swap/Solaris
分区2没有在柱面边界上结束。
/dev/sda 3 511 261116874496 83 Linux
磁盘/开发/sdb: 5368 MB,5368709120字节
255个磁头,63个扇区/磁道,652个柱面
单位=16065 * 512的柱面=8225280字节
扇区大小(逻辑/物理):512字节/512字节
输入输出大小(最小/最佳):512字节/512字节
磁盘标识符:0x65edb587
设备启动开始结束块(同suddenionosphericdisturbance)电离层的突然骚扰系统
/dev/sdb1 1 1321060258 83 Linux
…
注意这里软盘身份的编号。这里显示的83,它代表这个分区是外面的(外观的简写)的分区,这个是不能用来做交换的。
在硬盘分区命令可以看到具体数据的含义:
命令(m表示帮助):l
0空24NEC DOS 81 Minix /老林bf Solaris
1胖12 39计划9 82 Linux swap/So C1 DRDOS/秒(胖-
2 XENIX root 3c分区magic 83 Linux C4 drdos/sec(FAT-
3 XENIX usr 40 venix 80286 84 OS/2 hidden C:C 6 drdos/sec(FAT-
4 fat 16 32M 41件预备启动85 Linux扩展C7瘘管
5个扩展的42SFS 86 NTFS卷集这非空军上士数据
6 FAT16 4dQNX4.x 87 NTFS卷集db CP/M/CTOS /.
7 HPFS/NTFS 4eQNX4.x第二部分戴尔Linuxplaintext de Dell号实用程序
8 AIX4f QNX4.x第三部分8e Linux LVM dfBootIt
9 AIX可引导50OnTrack DM 93阿米巴e1DOS访问
一个操作系统/2引导管理51 OnTrack DM6 Aux 94阿米巴BBT e3DOS R/O
b W95 fat 32 52CP/M 9 fbsd/OS E4 SpeedStor
c W95 fat 32(LBA)53 OnTrack DM6 Aux A0 IBM Thinkpad hi EB BeOS fs
e W95 FAT16(LBA)54在DM 6 a5赛道上免费ee GPT
f W95 Ext d(LBA)55 EZ-Drive a6 openbsd ef EFI(FAT-12/16/
10部作品金弓a7 NeXTSTEP f0Linux/PA-RISC b
11 hiddenfat 12 5c Priam Edisk A8 Darwin UFS f1赛车
12 Compaq diagnost 61 SpeedStor a9 netbsd F4 SpeedStor
14 HiddenFAT16 3 63 GNU HURD或Sys ab Darwin boot f2DOS辅助
16 hiddenfat 16 64 Novell Netware af HFS/HFS FB VMware VMFS
17 HiddenHPFS/NTF 65 Novell Netware b7BSDI fs fc VMware VMKCORE
18 ASTSmartSleep 70磁盘安全Mult b8 BSDI交换fdLinux raid auto
1b HiddenW95 FAT3 75件/IX bbBoot向导hid fe LANstep
1c HiddenW95 FAT3 80旧小黄鹂启动BBT法郎
1e HiddenW95 FAT1
外面的(外观的简写)的分区身份号:0x83
交换的分区身份号:0x82
-将/dev/sdb1分区改成交换分区:
[root@rhce ~]# fdisk /dev/sdb
警告:DOS兼容模式已被否决。强烈建议
关闭模式(命令“c”)并将显示单位更改为
扇区(命令" u ").
命令(m表示帮助):h
未知命令
命令动作
切换可启动标志
编辑加州大学伯克利分校软件(Berkeley Software Distribution的缩写)磁盘标签
切换磁盘操作系统兼容性标志
删除一个分区
列出已知的分区类型
我打印这份菜单
n添加新分区
o创建一个新的空磁盘操作系统分区表
打印分区表
问:不保存更改就退出
创建一个新的空太阳磁盘标签
不要更改分区的系统编号
u更改显示/输入单位
验证分区表
w将表写入磁盘并退出
x额外功能(仅限专家)
命令(m表示帮助):t
选定的分区一
十六进制代码(类型L为列表代码):L
0空24NEC DOS 81 Minix /老林bf Solaris
1胖12 39计划9 82 Linux swap/So C1 DRDOS/秒(胖-
2 XENIX root 3c分区magic 83 Linux C4 drdos/sec(FAT-
3 XENIX usr40 Venix 80286 84OS/2隐藏丙:C6DRDOS秒(胖-
4 fat 16 32M 41件预备启动85 Linux扩展C7瘘管
5个扩展的42SFS 86 NTFS卷集这非空军上士数据
6 FAT16 4dQNX4.x 87NTFS卷集db CP/M/CTOS /.
7 HPFS/NTFS 4eQNX4.x第二部分戴尔Linuxplaintext de Dell号实用程序
8 AIX 4fQNX4.x第三部分8e Linux LVM dfBootIt
9 AIX可引导50OnTrack DM 93阿米巴e1DOS访问
一个操作系统/2引导管理51 OnTrack DM6 Aux 94阿米巴BBT e3DOS R/O
b W95 fat 32 52CP/M 9f BSD/OS E4 speedstor
c W95 fat 32(LBA)53 OnTrack DM6 Aux A0 IBM Thinkpad hi EB BeOS fs
e W95 FAT16(LBA)54在DM 6 a5赛道上免费ee GPT
f W95 Ext d(LBA)55 EZ-Drive a6 openbsd ef EFI(FAT-12/16/
10部作品金弓a7 NeXTSTEP f0Linux/PA-RISC b
11 hiddenfat 12 5c Priam Edisk A8 Darwin UFS f1赛车
12 Compaq diagnost 61 SpeedStor a9 netbsd F4 SpeedStor
14 HiddenFAT16 3 63 GNU HURD或Sys ab Darwin boot f2DOS辅助
16 hiddenfat 16 64 Novell Netware af HFS/HFS FB VMware VMFS
17 HiddenHPFS/NTF 65 Novell Netware b7BSDI fs fc VMware VMKCORE
18 ASTSmartSleep 70磁盘安全Mult b8 BSDI交换fdLinux raid auto
1b HiddenW95 FAT3 75件/IX bbBoot向导hid fe LANstep
1c HiddenW95 FAT3 80旧小黄鹂启动BBT法郎
1e HiddenW95 FAT1
十六进制代码(类型L至列表代码):82
将分区一的系统类型更改为82 (Linux交换/Solaris)
-注意这里更改磁盘分区的身份类型,如果不更在,在系统重启时会根据身份来判断磁盘的类型,那样在使用时就会出现错误。
命令(m表示帮助):w
分区表被改动了!
调用ioctl()重新读取分区表。
警告:重新读取分区表失败,错误16:设备或资源忙。
内核仍然使用旧表。新表格将用于
下次重启或运行零件探针(8)或kpartx(8)后
同步磁盘。
[root@rhce ~]#
[root@rhce /]# mkswap /dev/sdb1
设置交换空间版本1,尺寸=1060252 KiB
无标签,UUID=公元前913 E6 b-209 a-49a 7-b561-9b8c 57294681
[root @ rhce/]# MK swapL swap-disk/dev/SD C1
一个设置了标签,一个没设置。我们在添加/etc/fstab时,可是用标签名称,或者使用全球唯一标识符来配置。具体如上。
磁盘/开发/sdb: 5368 MB,5368709120字节
255个磁头,63个扇区/磁道,652个柱面
单位=16065 * 512的柱面=8225280字节
扇区大小(逻辑/物理):512字节/512字节
输入输出大小(最小/最佳):512字节/512字节
磁盘标识符:0x65edb587
设备启动开始结束块(同suddenionosphericdisturbance)电离层的突然骚扰系统
/dev/SD B1 1 1321060258 82 Linux swap/Solaris
磁盘/开发/sdc: 5368 MB,5368709120字节
181个磁头,40个扇区/磁道,1448个柱面
单位=7240 * 512的柱面=3706880字节
扇区大小(逻辑/物理):512字节/512字节
输入输出大小(最小/最佳):512字节/512字节
磁盘标识符:0x00000000
设备启动开始结束块(同suddenionosphericdisturbance)电离层的突然骚扰系统
/dev/SD C1 1 2911053400 82 Linux交换/Solaris
注意:使用blkid查看类型已经变成了交换:
[root@rhce ~]# blkid
/dev/sda 1:UUID= 935 f7fb 2-2ef 4-486 f-ae4e-265 EAF 9 f 580 f 类型=ext4
/dev/sda 2:UUID= 43343402-9188-4c DC-9c 79-0 e 36 ab 737517 类型=交换
/dev/sda 3:UUID= 7e 49 fb2 c-6fd 8-461 a-95d 9-65d 1 f 3994160 类型=ext4
/dev/SD B1:UUID= BC 913 E6 b-209 a-49a 7-b561-9b8c 57294681 类型=交换
/dev/SD C1:LABEL= swap-disk uuid= 799 b 4379-ca59-4508-ad04-2d 18847 B3 FD 9 TYPE= swap
[root@rhce ~]#
这里的类型已经改变,我们可以尝试手工的启动交换:
[root@rhce ~]# swapon /dev/sdc1
[root@rhce ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区3071992 0 -1
/dev/sdb1分区1060248 0 -2
/dev/sdc1分区1053392 0 -3
这里可以直接启用交换。
我们这里把/dev/dbb1和/dev/sdc1都添加/etc/fstab文件,在重启一下看看。添加内容如下:
UUID=BC 913 E6 b-209 a-49a 7-b561-9b8c 57294681互换互换默认值0 0
标签=交换-磁盘交换无线应用协议默认值0 0
重启系统后查看:
[root@rhce ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区3071992 0 -1
/dev/sdb1分区1060248 0 -2
/dev/sdc1分区1053392 0 -3
-对/dev/sdb1进行测试:
[root@rhce ~]# swapoff /dev/sdb1
[root@rhce ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区3071992 0 -1
[root@rhce ~]# swapon /dev/sdb1
[root@rhce ~]# swapon -s
文件名类型大小使用优先级
/dev/sda2分区3071992 0 -1
/dev/sdb1分区1060248 0 -2