Unix系统下对swap分区大小修改

随着科技不断的进步,内存大小在不断的加大,使得swap分区的用处越来越小。所以在实际生产环境中有时需要对系统的swap分区大小来进行调整,不过建议在安装系统时就定义好是否要swap分区、swap分区的大小是多少,如果是条件允许的话建议swap分区在2GB~4GB间,如果还不够建议直接加内存。使用2GB的swap是因为有一些特殊的软件可能在平时使用的时候会使用到swap分区,如高性能的Oracle。当然,如果后期在使用的过程中发现swap分区过大,磁盘空间又使用紧张,那么就很有必要对系统的swap分区大小做相应的缩减,反之亦然。因为有LVM的出现使得swap分区的调整方式有一点区别,在此就简单的说一说swap分区的缩减方法。

在对swap分区大小调整前还需要注意是否还有数据正在使用swap分区,如果是有在使用需要先修改下系统的内核变量刷新下swap分区查验下,以免造成数据丢失,系统中默认使用swap时的是依靠/proc/sys/vm/swappiness中的变量来控制的,默认/proc/sys/vm/swappiness中的变量时60,当/proc/sys/vm/swappiness变量设置为0时是表示尽量不使用swap空间,其中值越大表示系统越倾向于使用swap空间,可以通过修改内核变量文件/etc/sysctl.conf来动态控制

[email protected] ~]# sysctl -q vm.swappiness#查询默认vm.swappiness变量大小
vm.swappiness = 60
[[email protected] ~]# vim /etc/sysctl.conf
…略…
vm.swappiness = 0
[[email protected] ~]# sysctl -p
[[email protected] ~]# swapoff -a && swapon -a#刷新swap,即关了再开

这样就降低了系统对swap的使用可能性,当然如果内存确实够时此时还是会使用到swap空间的,此时就不能对swap分区大小做调整,如果没有那么才能继续做swap分区大小的调整,而对swap分区做调整时有分成2种情况:1、是使用传统磁盘分区 2、使用LVM管理的swap分区。这两种情况下对系统的swap分区做调整是有所不同的。

先说一下传统磁盘分区对swap分区做调整的方法,大致来说使用传统磁盘分区下对swap的增加和减小大致的原理是一致的:

[[email protected] ~]# swapon -s#先确认下是哪一个分区是作为swap分区
[[email protected] ~]# dd if=/dev/zero of=/tmp/swap bs=1MB count=2048#创建一个写满0的swap文件用来做swap,大小根据你需要调整的swap分区来定
[[email protected] ~]# chmod 600 /tmp/swap
[[email protected] ~]# swapoff -a#离线所有swap分区,相当于umount swap分区
[[email protected] ~]# mkswap /tmp/swap#创建swap分区,注意要记录下下面生成的UUID
mkswap: /tmp/swap: warning: don‘t erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=7cc2ddfc-6057-49c8-b7a8-4f6e3807d731
[[email protected] ~]# swapon /tmp/swap#激活swap分区

这样swap的临时分区就建立好了,如果是调小或者是磁盘中还有未使用的分区时还可以在把原来的swap分区重新做修改后,再格式化调整大小后再创建成swap分区再把swap写在独立分区内,步骤方法和上面一样在此就不做过多的赘述了,无论如何把swap分区修改好后都需要根据实际修改的情况修改下/etc/fstab文件,注意UUID也要填新的,以确保系统重启后会自动挂载swap分区。

第二种是swap分区使用LVM逻辑卷来创建管理的那么,只要在swap分区离线后用LVM的增减来对swap分区来做变化,至于LVM在以前有提及过所以在这里就简单的写一下减小,LVM中逻辑卷分区的增减变化可以参看: http://jim123.blog.51cto.com/4763600/1954350

[[email protected] ~]# swapon -s
[[email protected] ~]# swapoff -a
[[email protected] ~]# lvreduce -L 2048M /dev/mapper/VolGroup-Lv_swap
[ro[email protected] ~]# mkswap /dev/mapper/VolGroup-Lv_swap#注意记录UUID
mkswap: /dev/VolGroup/VolGroup-Lv_swap: warning: don‘t erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=d6210042-9bc0-4e56-bc5a-3ade79eb4791
[[email protected] ~]# swapon /dev/mapper/VolGroup-VolGroup--Lv_swap

总之如果是对swap修改后都要对/etc/fstab文件做修改,以确保重启后系统能自动挂载swap分区

时间: 2024-08-09 18:24:42

Unix系统下对swap分区大小修改的相关文章

liunx系统下调整Swap分区大小

添加swap交换空间的步骤如下:第一步:确保系统中有足够的空间来用做swap交换空间,准备在一个独立的文件系统中添加一个swap交换文件,在/tmp中添加1G的swap交换文件第二步:添加交换文件并设置其大小为1G,使用如下命令 [[email protected] ~]#dd if=/dev/zero of=/tmp/swap bs=1MB count=1024 记录了200+0 的读入记录了200+0 的写出200000000字节(200 MB)已复制,0.16057 秒,1.2 GB/秒

Win7系统下调整硬盘分区大小给C盘更多的空间

电脑安装了很多程序,C盘空间越来越小了.如何给C盘调整更多的空间,其实只要调整硬盘分区大小便可解决这个问题,下面有个小技巧,需要的朋友照做就可以了 Win7系统下如何调整硬盘分区大小,以前装系统的时候只给C盘分了30G的空间,现在电脑安装了很多程序,C盘空间越来越小了.如何给C盘调整更多的空间,我们一起来看看. 1.首先从电脑桌面左下脚开始里面进去找到“计算机”找到计算机名称后,将鼠标放其上,然后单击鼠标右键选择“管理”,然后即可弹出“计算机管理”对话框.(对于找到计算机管理对话框,更简单的方法

linux下增加swap分区大小

官方建议RAM在2到4GB时,swap是RAM2倍:当RAM大于4GB时则swap等于RAM即可 1.查看当前swap大小 free -g 2.设置swap大小 dd  if=/dev/zero of=/tmp/swap bs=1GB count=8 3.设置swap文件 mkswap /tmp/swap 4.启用swap swapon  /tmp/swap 5.开机自启动 /etc/fstab增加如下内容 /tmp/swap   swap    swap default   0 0 6.收回s

调整swap分区大小-Linux下安装Oracle时报swap不够解决方法

调整swap分区大小 方法一:如果磁盘有剩余的空间,用分区工具新建一个swap分区.并写到/etc/fstab里面.再 #swapon -a方法二:可以用一个文件做交换分区. su root cd / mkdir /swap 1.建立swap文件,比如在/tmp下建立swapfree作为交换文件.建立#dd if=/dev/zero f=swapfree bs=32k count=8192(bs=32k指定每个扇区占用32kb,读入了8192+0个区段,输出了8192+0个区段) 注意:bs参数

如何在安装Linux之后自己修改Swap分区大小

测试试境为RH AS4假如您不清楚swap到底是什么,或分区的概念,那么下面的过程对您来讲可能会有一定的风险.自己扩大Swap也是比较方便的.您必须有root权限,过程中一定要很小心,一不小心就破坏了整个硬盘的数据,执行下面的过程之前您需要三思而行,错误后的后果由执行者自己承担,我这个script只是作为参考.1.以root进入控制台2. #swapoff -a             #停止交换分区3. #fdisk /dev/hda         #swap所在硬盘的硬盘设备文档,可能会有

设置和修改Linux的swap分区大小

在Linux编译gcc时,遇到编译错误,究其根源是因为内存不足,这时通过修改swap大小解决了问题 相关操作如下: 1. 查看当前分区情况free -m 2. 增加 swap 大小, 2G 左右dd if=/dev/zero of=/var/swap bs=1024 count=2048000 3. 设置交换文件mkswap /var/swap 4. 立即激活启用交换分区swapon /var/swap 5. 添加系统引导时自启动运行vi /etc/fstab 添加一行/var/swap swa

Ubuntu下调整swap分区的大小

转自:http://blog.sina.com.cn/s/blog_6d7012a10100ny9a.html 1.1.首先用命令free查看系统内 Swap 分区大小. Java代码 free -m 显示: Java代码 total used free shared buffers cache Mem: 1002 964 38 0 21 410 -/+ buffers/cache: 532 470 Swap: 951 32 929 可以看到 Swap 只有951M,不符合 Oracle-xe-

linux下的swap分区

一.什么叫swap分区 swap分区,即交换区,swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中. 二.swap配置对性能的影响 Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用.但是

linux增加swap分区大小

  linux增加swap分区大小 2016-08-2 13:54:58 分类: LINUX 懂得Linux的都知道,标准的Linux安装,SWAP分区是内存的两倍大小,如果增加了内存条,那SWAP分区也要增加   如果增加1G内存,SWAP分区就要增加2G   一.决定修改swap大小,首先在空间合适处创建用于分区的swap文件:如/swap1       #dd if=/dev/zero of=/swap1 bs=1M count=2048   if 表示 infile,of 表示outfi