赞
踩
一、当我们用free -h命令,查看服务器内存情况时,可以看到mem和swap两行。
mem行是从系统角度看来内存使用的情况,total是系统可用的内存大小,数量上等于系统物理内存减去内核保留的内存。
buffers和cached是系统用做缓冲的内存。used显示已经使用的内存大小,free是剩余空闲的可用内存大小。buffers与某个块设备关联,包含了文件系统元数据,并且跟踪了块的变化。cache只包含了文件本身。buffers/cache行则从用户角度显示内存信息,可用内存从数量上等于mem行used列值减去buffers和cached内存的大小。因为buffers和cached是操作系统为加快系统运行而设置的,当用户需要时,可以只接为用户使用。
Swap行便是系统的swap信息,也就是swap交换分区。
二、swap交换分区的作用:
类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。
需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法。
三、swap分区创建和使用:
两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件
1、创建swap交换分区方法
(1)、创建分区
fdisk /dev/sda2
(2)、命令来格式化交换分区
mkswap /dev/sda2
(3)、激活新建的交换分区
swapon /dev/sda2
(4)、追加写入/etc/fstab文件中,启用挂载
vi /etc/fstab
在文件末尾追加如下,之后保存文件
/dev/sda2 swap swap default 0 0
或者也可以使用fallocate 命令创建交换空间
(1)、创建文件,查看,授权
fallocate -l 2G /swap_space
ls -lh /swap_space
chmod 600 /swap_space
(2)、命令来格式化交换分区
mkswap /swap_space
(3)、激活新建的交换分区
swapon -s
(4)、追加写入/etc/fstab文件中,启用挂载
vi /etc/fstab
在文件末尾追加如下,之后保存文件
/swap_space swap swap sw 0 0
2、创建swap交换文件
(1)、创建文件
dd if=/dev/zero of=/tmp/swapfile bs=1024 count=8192000
附:
if=/dev/zero:输入/dev/zero文件。/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件。
of=/tmp/swapfile:输出至/tmp/swapfile文件
bs=1024:定义块大小为1024bytes,默认单位为bytes。
count=8192000:总数大小8192000个bs即8192000kb,换算后得8G。
参照oracle官方文档设定的标准应这样配置:
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
(2)、格式文件
mkswap /tmp/swapfile
(3)、激活新建的交换分区
swapon /tmp/swapfile
(4)、追加写入/etc/fstab文件中,启用挂载
vi /etc/fstab
在文件末尾追加如下,之后保存文件
/tmp/swapfile swap swap defaults 0 0
创建之后可以再次执行
free-h
查看是否生效
四、查看swap空间
swapon -s
等价于
cat /proc/swap
学海无涯苦作舟!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。