如何在CentOS中添加Swap?CentOS添加交换分区的教程

使用 DigitalOcean 有很长一段时间了,前几天在编译 PHP 的时候出现了进程被 killed 的状况,经过我的吐槽以及和别人交流后发现,是内存耗尽的缘故。其实是因为当时开着 MySQL 进程消耗了不少内存,后来觉得有必要手动添加一下 Swap(交换分区),这样以免以后再编译什么的时候进程被K 。
  关于 Linux 中 Swap(交换分区),类似于 Windows 的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
  那么如何在 CentOS 中手动添加 Swap 呢?www.111cn.net

1、检查 Swap 空间
在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。
运行以下命令:

swapon -s

如果返回的信息概要是空的,则表示 Swap 文件不存在。

2、检查文件系统
在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:

df -hal

检查返回的信息,还剩余足够的硬盘空间即可。

3、创建并允许 Swap 文件
下面使用 dd 命令来创建 Swap 文件。

dd if=/dev/zero of=/swapfile bs=1024 count=512k

参数解读:
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

4、格式化并激活 Swap 文件
上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:

mkswap /swapfile

激活 Swap ,运行命令:

swapon /swapfile

以上步骤做完,再次运行命令:

swapon -s

你会发现返回的信息概要:

Filename                Type        Size    Used    Priority
/swapfile               file        524284    0     -1

如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。
用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

/swapfile          swap            swap    defaults        0 0

最后,赋予 Swap 文件适当的权限:

chown root:root /swapfile
chmod 0600 /swapfile

同时,我们还可以修改 Linux Swap 空间的 swappiness ,降低对硬盘的缓存。
Linux 会使用硬盘的一部分做为 Swap 分区,用来进行进程调度–进程是正在运行的程序–把当前不用的进程调成‘等待(standby)’,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(active)’,睡眠的进程就会在 Swap 分区,把内存空出来让给‘活动’的进程。www.111cn.net
如果内存够大,应当告诉 Linux 不必太多的使用 Swap 分区,可以通过修改 swappiness 的参数来设置。swappiness=0 的时候表示最大限度使用物理内存,然后才是 Swap 空间,swappiness=100 的时候表示积极的使用 Swap 分区,并且把内存上的数据及时的搬运到 Swap 空间里面。
在 CentOS 中,swappiness 的默认值是60。
通过以下命令可以看到:

cat /proc/sys/vm/swappiness

返回值60

我们可以调整 swappiness 的值到一个合适的参数,从而达到最优化使用 Swap 的目的。这里我们将其设为10。
使用 sysctl 命令:

sysctl vm.swappiness=10

但是这只是临时性的修改,在你重启系统后会恢复默认的60,要永久设置,还需要在 vim 中修改sysctl.conf:

vi /etc/sysctl.conf

在这个文档的最后加上这样一行:

# Search for the vm.swappiness setting.  Uncomment and change it as necessary.
vm.swappiness=10

输入:x,保存退出 vim 。

这样一来,Swap 分区重启后都会生效了。

时间: 2024-09-30 21:46:45

如何在CentOS中添加Swap?CentOS添加交换分区的教程的相关文章

Linux系统中安装使用ntfs-3g挂载NTFS分区的教程

  Linux系统中安装使用ntfs-3g挂载NTFS分区的教程.系统环境默认安装后,不能访问ntfs分区,在安装和配置ntfs-3g以后即可. 1.安装ntfs-3g 代码如下: apt-get -y install ntfs-3g 2.创建挂载的文件夹 我windows下面有三个磁盘.都需要访问.所以在/mnt中新建了三个文件夹,分别是/mnt/C./mnt/D./mnt/E 3.挂载分区 首先使用fdisk命令查看目前磁盘情况 代码如下: debian-hcshangxinli:/home

linux添加交换分区的教程

目前使用云主机越来越普遍,有的云主机的系统镜像没有自动挂载交换分区,肯定会给机器的性能带来一定的影响,   其解决方案如下:   1,有的云主机厂商为云主机分配了交换分区,但是没有让系统自动挂载,使用 fdisk -l 命令检查一下是否建立了   交换分区,如下图:   上图,就是系统建立了交换分区的情况,这种情况只要将这个交换分区写到/etc/fstab让系统自动挂载就行了   2,如果系统没有建立交换分区,就需要我们自己建立一块空间了,具体步骤如下:  a.使用dd命令创建一个swap分区文

ArcEngine如何在TOCControl中的GroupLayer下添加图层?求助!!!大神!!

问题描述 有人在吗,我想在TOCControl里添加图层,就像图中所示,,其中是我添加的图层,我想用Engine实现,在MapControl中使用addlayer添加图层,怎么操作才能使图层在TOCControl控件中的NewGroupLayer下呢? 解决方案 解决方案二:http://m.blog.csdn.net/blog/u010499087/26142391希望对你有帮助谢谢解决方案三:https://saeidp.wordpress.com/2010/11/18/arcobjects

在CentOS中给Apache Tomcat绑定IPv4地址的教程

  今天我们来学习一下如何在CentOS 7 Linux分布式系统中为Tomcat绑定IPv4. Apache Tomcat 是由Apache 软件基金会 开发的开源web服务器和servlet容器.它实现了Java Servlet,JavaServer页面(JSP),Java的统一表达式语言,以及Sun Microsystems的Java的WebSocket规范,并提供了一个运行java代码的web服务器环境. 如果由于tomcat默认绑定到IPv6而导致我们的web服务器不能正常工作,就有必

CentOS中Nginx+Apache+MySQL+PHP+Tomcat的配置教程(支持PHP、JAVA)

先来看CentOS6.4+Apache-2.2.22+Mysql-5.1.63+PHP-5.2.17+phpmyadmin-3.4.10.2+ZendDebug环境安装 LAMP安装手记(CentOS6.4+Apache-2.2.22+Mysql-5.1.63+PHP-5.2.17+phpmyadmin-3.4.10.2+ZendDebug)  代码如下 复制代码 rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd php mysql

Centos中安装PHP的PDO MySQL扩展的教程

PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能.注意利用 PDO 扩展自身并不能实现任何数据库功能:必须使用一个具体数据库的 PDO 驱动来访问数据库服务. 记录安装 PDO MySQL 扩展过程. 参考官方的安装文档后发现,在编译安装 PHP 时加上 –with-pdo-mysql[=DIR] 参数即可安装 PDO MySQL 扩展.其中的[=DIR]是可选的,是指 My

Solaris 11中如何添加swap

查看当前swap大小,是2G root@vzwc1:~# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 8.68G 40.0G 4.90M /rpool rpool/ROOT 4.03G 40.0G 31K legacy rpool/ROOT/solaris 4.03G 40.0G 3.72G / rpool/ROOT/solaris/var 265M 40.0G 202M /var rpool/VARSHARE 43K 40.0G 43K /v

DigitalOcean在CentOS中添加Swap分区的方法

其实添加的方法有很多,这里只是官方帮助里面的一个方法 检查Swap空间 首先检查一下系统中有没有存在的Swap文件 swapon -s 如果返回信息为上图的话,则表示 Swap 文件不存在. 检查文件系统 在设置Swap文件之前,先检查检查一下是否有足够的硬盘 df -hal   创建并启用Swap文件 使用 dd 命令来创建 Swap 文件 dd if=/dev/zero of=/swapfile bs=1024 count=512k   格式化并激活Swap文件 格式化Swap分区 mksw

在CentOS中添加sudo帐户

  通常在刚安装好了的CentOS中要使用root权限必须先通过将用户切换到root才能执行.不像ubuntu那样自带sudo功能.但sudo这个功能还是能给我们的操作带来极大的方便.     如果实现?我在网上找了些资源,大概步骤如下:     (1)先切换到 root 用户         > su root         要输入密码就不用我提示了.     (2)修改 /etc/sudoers 的读写权限         通常 /etc/sudoers 的读写权限为:         -