Linux操作系统设置交换分区swap大小一般为,linux中swap分区的作用

  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

Linux操作系统设置交换分区swap大小一般为,linux中swap分区的作用