设置/修改linux上的swap交换分区的方法

设置centos上的swap交换分区的方法

做为linux世界里最稳定的服务器版本,rhas5一直有很大的应用面,以前一直关注的是freebsd,由于应用的须要,特别在配合mysql和oracle上red hat有着太多优点。

用centos来代替red hat as的使用,由于centos5是利用rhas5的源码,去掉redhat的商标、图标以后编译发行的,是最一个源码编译版本,我用的是centos 5.2

在安装centos 5.2的时候,忘设置swap交换分区,在内存小的状况下,增大swap的做用比较有效的。

第一步 建立文件块

#cd /var (进入一个文件夹)

#dd if=/dev/zero of=swapfile bs=1024 count=524288 (建立512M的swap ,通常是内存的两倍)

#/sbin/mkswap swapfile (建立swap文件)

#/sbin/swapon swapfile (激活swap文件)

#/sbin/swapon -s (检查swap是否正确)

结果:

Filename Type Size Used Priority

/var/swapfile file 524016 0 -1

#vi /etc/fstab (加到fstab文件中让系统引导时自动启动)

在末尾增长如下内容:

/var/swapfile swap swap defaults 0 0

#reboot

重启以后,top命令查看,有swap分区的大小了



swap的问题已经解决(源自网络)

解决办法:

二、格式华及启动swap文件 

接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行如下命令: 

# mkswap swapfree (#将文件格式化为swap文件格式) 

setting up swapspace version 1 , size = 262144 KB 

# swapon /tmp/swapfree (#启动swap分区) 

要中止使用新建立的swap文件,只要执行 swapoff /tmp/swapfree命令便可,若是swap交换文件再也不使用,能够删除此文件。

三、检查swap

#swapon -s

四、 开机时自动启动新添加的swap分区 

若是每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时能够利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件: 

/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区) 

/tmp/swapfree swap swap defaults 0 0 (开机时启动此swap文件) .

swap空间大小:

一般状况下,Swap空间应大于或等于物理内存的大小,最小不该小于64M,一般Swap空间的大小应是物理内存的2-2.5倍。但根据不一样的应用,应有不一样的配置:若是是小的桌面系统,则只须要较小的Swap空间,而大的服务器系统则视状况不一样须要不一样大小的Swap空间。特别是数据库服务器和Web服务器,随着访问量的增长,对Swap空间的要求也会增长,具体配置参见各服务器产品的说明。

swap数量:

Swap分区的数量对性能也有很大的影响。由于Swap交换的操做是磁盘IO的操做,若是有多个Swap交换区,Swap空间的分配会以轮流的方式操做于全部的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。若是只有一个交换区,全部的交换操做会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。用性能监视工具就会发现,此时的CPU并不很忙,而系统却慢。这说明,瓶颈在IO上,依靠提升CPU的速度是解决不了问题的。 mysql

注: linux

查看swap 空间大小(总计): 
# free -m 默认单位为k, -m 单位为M
total used free shared buffers cached
Mem: 377 180 197 0 19 110
-/+ buffers/cache: 50 327
Swap: 572 0 572

Mem 行显示了从系统角度看来内存使用的状况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. 
buffers和cached是系统用作缓冲的内存. buffers与某个块设备关联, 包含了文件系统元数据, 而且跟踪了块的变化. cache只包含了文件自己.

-/+ buffers/cache 行则从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小.

由于buffers和cached是操做系统为加快系统运行而设置的, 当用户须要时, 能够只接为用户使用.

top 显示系统运行时的各进程动态、实时的状态(cpu、内存)

top 中有3个列 VIRT RES SHR, 标示了进程使用的内存状况.
VIRT 标识这个进程 可使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. 
RES 标识这个这个进程真实占用内存的大小. 
SHR 标识能够和别的进程共享的内存和库大小.

vmstat 显示内存的使用状况

这些命令都是从/proc/meminfo中读取内存 信息.

关于/proc/meminfo中各行的含意, 在内核源代码的Documentation/filesystems/proc.txt文 件中有叙述

系统的真实内存大小能够用 dmesg | grep [mM][eE][mM]看到

/proc/pid/status显示一个进程的详细 状态 sql

相关文章
相关标签/搜索