在Linux6下SWAP空间不够解决方案

1、使用分区:

在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount。

这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。

2、使用swapfile:(或者是整个空闲分区)

新建临时swapfile或者是空闲分区,在需要时设定为交换空间,最多可以增加8个swapfile。

交换空间的大小,与CPU密切相关,在i386系中,最多可以使用2GB的空间。

在系统启动后根据需要在2G的总容量下进行增减。

这种方法比较灵活,也比较方便,缺点是启动系统后需要手工设置。

以下是运用swapfile增加交换空间的步骤:

涉及到的命令:

free ---查看内存状态命令,可以显示memory,swap,buffer cache等的大小及使用状况;

dd ---读取,转换并输出数据命令;

mkswap ---设置交换区

swapon ---启用交换区,相当于mount

swapoff ---关闭交换区,相当于umount

步骤:

1、创建swapfile:

root权限下,创建swapfile,假设当前目录为"/",执行如下命令:

# dd  if=/dev/zero  of=swapfile  bs=1024  count=500000

则在根目录下创建了一个swapfile,名称为“swapfile”,大小为500M,也可以把文件输出到自己想要的任何目录中,

个人觉得还是直接放在根目录下比较好,一目了然,不容易误破坏,放在其他目录下则不然了;

命令中选项解释:

---of:输出的交换文件的路径及名称;

---bs:块大小,单位byte,一般为1k即1024个byte;

---count:总块数即空间总大小,单位为块即k;

---if:读取的源空闲空间,为什么是zero,不清楚,先固定这么写吧;

2、将swapfile设置为swap空间

# mkswap swapfile

3、启用交换空间,这个操作有点类似于mount操作(个人理解):

# swapon  swapfile

至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化;

4、如果不再使用空间可以选择关闭交换空间,这个操作有点类似于umount操作(个人理解)::

#  swapoff  swapfile

使用这种方法在每次系统启动时都需要手动设置、开启swapfile,比较麻烦,解决方法:

在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:(编辑这个文件当然是用vi了~)

/sbin/swapon  /swapfile

保存后退出,这样在系统启动后,swap空间就会自动加载了;

总结:在安装OS时一定要规划后swap大小,通常为内存的2倍,但是要考虑到以后增加内存的可能,所以可以考虑设的稍大一些,想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。

添加swap交换空间的步骤如下:

第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件

第二步:添加交换文件并设置其大小为2G,使用如下命令

[[email protected] image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000

过段时间就返回如下结果:

2048000+0 records in

2048000+0 records out

2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s

第三步:创建(设置)交换空间,使用命令mkswap

[[email protected] image]# mkswap /opt/image/swap

Setting up swapspace version 1, size = 2097147 kB

第四步:检查现有的交换空间大小,使用命令free

[[email protected] image]# free -m

total       used       free     shared    buffers     cached

Mem:          1011        989         21          0          1        875

-/+ buffers/cache:        112        898

Swap:         1027          0       1027

或者检查meminfo文件

grep SwapTotal  /proc/meminfo

第五步:启动新增加的2G的交换空间,使用命令swapon

[[email protected] image]# swapon /opt/image/swap

第六步:确认新增加的2G交换空间已经生效,使用命令free

[[[email protected] image]# free -m

total       used       free     shared    buffers     cached

Mem:          1011        995         15          0          4        877

-/+ buffers/cache:        113        897

Swap:         3027          0       3027

或者检查meminfo文件

grep SwapTotal  /proc/meminfo

第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效

在文件最后加入:

/opt/image/swap     swap      swap defaults 0 0

我的操作

[[email protected] Server]# free

total       used       free     shared    buffers     cached

Mem:       1785856    1753452      32404          0      38592    1036312

-/+ buffers/cache:     678548    1107308

Swap:      2064376        116    2064260

创建交换空间文件,1000M

[[email protected] /]# dd  if=/dev/zero  of=/swapfile  bs=1024  count=1000000

1000000+0 records in

1000000+0 records out

1024000000 bytes (1.0 GB) copied, 28.5423 seconds, 35.9 MB/s

[[email protected] /]# mkswap swapfile

Setting up swapspace version 1, size = 1023995 kB

[[email protected] /]# swapon  swapfile 打开

[[email protected] /]#swapoff  swapfile 关闭

删除

swapoff  swapfile

rm -rf swapfile

时间: 2024-08-03 23:20:18

在Linux6下SWAP空间不够解决方案的相关文章

Oracle Linux6下安装Oracle 12c实战

经过N次安装尝试吐血总结,希望对大家有所帮助,同时做下记录备忘: 总结:安装前的准备工作是关键!!!Check and recheck! 参考:http://docs.oracle.com/cd/E16655_01/install.121/e17741/toc.htm#CEGHFFGG ***********************ORACLE 12C 安装步骤******************************************** 0.准备软件:Oracle Linux 6.4

4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间 4.5/4.6 磁盘格式化 磁盘格式化 上 根/  和 /boot 都是  xfs centos6 之前的版本 文件格式系统ext4 6 是ext5 5 是 ext 3 再往前 ext 2 centos 7 默认 是 xfs   作为它的默认文件系统 fdisk -l 查看下 之前的分区 没有分,先分一个新的分区 现在给他格式化 mke2fs mke2fs -t 指定格式化的文件系统 比如要指定ext4 mke2

磁盘格式化,磁盘挂载,手动增加swap空间

硬盘格式化 #cat /etc/filesystems @查看系统的格式类型 在之前的老版本系统: CentOS 6 使用 ext4:  CentOS 5 使用 ext3: CentOS 更老的版本使用 ext2:CentOS 7 使用 xfs 格式化磁盘: #mkfs.xfs -b 2048 -m 1 /dev/sdb1 @mkfs.xfs 使用xfs类型格式化硬盘 @-b 自定义块大小 @-m 自定义默认保留空间为1% #mke2fs -t ext4 /dev/sdb1  ==  #mkfs

Linux下LDAP统一认证解决方案

Linux下LDAP统一认证解决方案 --http://www.cangfengzhe.com/wangluoanquan/3.html 企业内部需要认证的服务很多,员工需要记住很多的密码, 即使对这些服务进行相同的密码设置,也存在很大的安全隐患.笔者目前工作的企业就是如此,每一个新员工的到来管理员都要初始化很多密码,而这些密码都被设置成了“888888”等弱密码,由于各种软件的认证机制之间没有使用一个统一的标准,员工无法一次性修改所有服务的密码,这导致很多即使是入职很久的员工都还在使用这个“众

SWAP空间不足的处理方法

日常运维工作过程中,我们经常会遇到swap空间不足的情况,甚至nagios都把swap监控作为一个基础的系统监控项,足以看出这个性能指标的重要性. 一般是MySQL数据库机器比较容易发生swap空间不足,也有应用服务器高负载的情况下也会产生这现象. 为什么会产生swap使用呢?假设我们的物理内存是32G,swap是4G.如果MySQL本身已经占用了24G物理内存,而同时其他程序或者系统模块又需要8G内存,这时候操作系统就可能把MySQL所拥有的一部分地址空间映射到swap上去. 比如拷贝或压缩一

安装Oracle的时候报SWAP空间不足的处理方法

在安装Oracle的时候,可能因为我们分配的swap空间不够导致安装失败.处理步骤如下: SWAP空间为2G [[email protected] oracle]# free              total       used       free     shared    buffers     cached Mem:       2039004    1207260     831744          0      22668     833660 -/+ buffers/ca

linux磁盘格式化、磁盘挂载、手动增加swap空间

磁盘格式化: 查看文件系统格式,centos7的文件系统格式默认xfs(centos6以前都是ext版本格式按序排列) [[email protected] ~]# cat /etc/filesystems     //查看系统支持的文件系统格式 xfs ext4 ext3 ext2 nodev proc nodev devpts iso9660 vfat hfs hfsplus * mount 查看这个系统分区的文件类型格式 mke2fs  -t    指定密钥格式化成什么样的系统(但不支持x

磁盘格式化、磁盘挂载、增加swap空间

Windows文件系统:NTFS.FAT32.FAT16 Linux文件系统: centos7-xfs默认 centos6-ext4 centos5-ext3 centos4-ext2 mkfs命令 用于在设备上创建Linux文件系统 mkfs.xfs /dev/sdb1           将sdb1分区格式化为xfs格式 mkfs -t ext4 /dev/sda6     将sda6分区格式化为ext4格式 mkfs -t ext3 /dev/sda7     将sda7分区格式化为ext

4.5—4.6 磁盘格式化;4.7—4.8 磁盘挂载;4.9 手动增加swap空间

4.5 磁盘格式化(上) CentOS 7 磁盘格式化:默认为xfs文件系统分区 1. 给sdb磁盘分区: [[email protected] ~]# fdisk /dev/sdb 命令(输入 m 获取帮助):n Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-20971519,默认为 2048):回车(默认) Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G 命令(