android swap分区

1,214 阅读2分钟

1、 SWAP 概述

Swap意思是交换分区,就是我们说的虚拟内存,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。

2、Swap分区设置多大才是最合适的?

一般来说可以按照如下规则设置swap大小(以实际情况为准,这只是建议)

4G以内的物理内存,SWAP 设置为内存的2倍。

4-8G的物理内存,SWAP 等于内存大小。

8-64G 的物理内存,SWAP 设置为8G。

64-256G物理内存,SWAP 设置为16G。

3、物理内存使用多少为不够用?

实际上并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,而是由swappiness 参数值 来控制物理内存够不够用。

[root@YHB ~]# cat /proc/sys/vm/swappiness

android swap分区 系统 手机swap分区_linux

本人的虚拟机默认是30

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

4、如何更改swappiness参数?

临时修改:

[root@YHB ~]# sysctl vm.swappiness=10

android swap分区 系统 手机swap分区_android swap分区 系统_02

永久修改:

[root@YHB ~]# echo “vm.swappiness=100” >> /etc/sysctl.conf

android swap分区 系统 手机swap分区_android swap分区 系统_03

立即生效方法:

[root@YHB ~]# sysctl -p

android swap分区 系统 手机swap分区_物理内存_04

下面要增加Swap分区了

5、查看swap分区大小

[root@YHB ~]# free -h

android swap分区 系统 手机swap分区_缓存_05

6、增加500M的Swap 分区

[root@YHB ~]# dd if=/dev/zero of=/tmp/500m bs=1M count=500

android swap分区 系统 手机swap分区_linux_06

dd if=/dev/zero of=/tmp/500m bs=1M count=500 分别是什么意思

dd:用指定大小的块拷贝文件,并在拷贝的同时进行指定的转换
if=:(input file) 数据的来源 (源)
of=:(outpu file)输出文件 (目标)
bs=:(block size) 每次复制多大(bytes)
count=:次数
/dev/zero 白洞 源源不断的输出
/dev/null 黑洞 吸收
/dev/urandom 随机字符

7、查看新增分区的文件类型

[root@YHB ~]# file /tmp/500m (数据类型)

android swap分区 系统 手机swap分区_物理内存_07

8、将文件变成swap类型

[root@YHB ~]# mkswap /tmp/500m

mkswap命令可将磁盘分区或文件设为Linux的交换区

android swap分区 系统 手机swap分区_物理内存_08

9、激活swap分区

[root@YHB ~]# swapon /tmp/500m

:这个不是错,他说是权限给的高了,我们改下,实际上已经把这500M分区增加上了

android swap分区 系统 手机swap分区_缓存_09

android swap分区 系统 手机swap分区_运维_10

11、更改新增的Swap分区的权限[root@YHB ~]# chmod 600 /tmp/500m

android swap分区 系统 手机swap分区_android swap分区 系统_11

12、查看Swap的组成情况

[root@YHB ~]# swapon -s

android swap分区 系统 手机swap分区_缓存_12

13、永久激化

[root@YHB ~]# vim /etc/fstab (开机加载到linux的文件系统)

android swap分区 系统 手机swap分区_物理内存_13