linux分区swap分区应该分多少_ubuntu swap分区

linux分区swap分区应该分多少_ubuntu swap分区设置swap分区以及相关问题解决方法总结_linuxswap

linux分区swap分区应该分多少_ubuntu swap分区

一、虚拟内存swap(交换空间)简介

        物理内存读写数据比硬盘读写数据要快许多,由于内存是有限的,所以就引出了物理内存和虚拟内存。物理内存是系统硬件提供的内存,是真正的内存;虚拟内存是为了满足物理内存不足时而提出的策略,他是利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(swap space)。

        作为物理内存的扩展,linux会在物理内存不足时使用交换空间,内核会将暂时不用的内存块信息写到交换空间,这样物理内存就得到了释放,当需要用到原始信息时会重新从交换空间读入到物理内存中。

        交换空间通常是一个磁盘分区,但是也可以是一个文件。如果物理内存不足以支撑使用全部进程的话,使用swap也许会对有帮助,这样可以避免OOM,Linux内核OOM Killer机制将尝试通过杀进程的方式来自动释放内存。如果想让虚拟内存足够使用,可以开辟相应的磁盘空间作为交换空间,而启用交换的最大缺点是性能降低。所以,选择杀死进程还是启用交换(存在降低性能风险)需要根据实际情况来选择。

二、创建swap分区

1.查看swap分区

根据 free 命令查看swap是否有创建

2. 使用dd命令创建一个swap分区

dd if=/dev/zero of=/home/swap bs=1M count=2048

参数 含义
if if=文件名:输入文件名,默认为标准输入。即指定源文件
of of=文件名:输出文件名,默认为标准输出。即指定目的文件
bs 同时设置读入/输出的块大小为bytes个字节
count 仅拷贝blocks个块,块大小等于ibs指定的字节数

详细可参考 Linux dd 命令 | 菜鸟教程

3. 格式化分区文件

mkswap /home/swap

 4. swapon命令激活swap

 swapon /home/swap

 5. swapoff命令关闭swap

 swapoff /home/swap

6. 保存设置使其永久生效

进入/etc/fstab 添加下面这一行设置

/home/swap swap swap default 0 0

 fstab文件可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统。 当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。

7. 查看设置是否成功

free -h

注: 系统中交换分区的大小并不直接取决于物理内存的大小,而是取决于系统中内存的负荷,需要根据具体的业务来设置具体的swap值。

三、设置swap分区相关问题

1.swap 重启后失效

在文件/etc/rc.local中增加开启swap的命令:

vi /etc/rc.local

增加下面内容:

swapon /data/swapfile

2.调整vm.swappiness的方法

        内核参数vm.swappiness控制换出运行时内存的相对权重,swappiness参数值可设置范围在0到100之间,参数取值对如何使用swap分区有很大联系。 此参数值越低,就会让Linux系统尽可能的少用swap分区,多用内存;参数值越高,则使内核更多的去使用swap空间。默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时候表示最大限度使用物理内存;swappiness=100时表示最大限度的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。具体取值可根据实际情况而定。

① 查看参数值:

cat /proc/sys/vm/swappiness

② 临时调整:

sysctl vm.swappiness = 30 

③ 永久调整:

vi /etc/sysctl.conf 
修改值:vm.swappiness=30

加载参数:sysctl -p

3.释放虚拟内存命令

        释放内存的时候,首先执行命令sync将所有正在内存中的缓冲区写到磁盘中,其中包括已经修改的文件inode、已延迟的块I/O以及读写映射文件,从而确保文件系统的完整性。

# sync命令可以多执行几遍

echo N > /proc/sys/vm/drop_caches

drop_caches的值(N)可以是0-3之间的数字,代表不同的含义:

0:不释放(系统默认值);默认情况下表示不释放内存,由操作系统自动管理;

1:释放页缓存;

2:释放dentries和inodes;

3:释放所有缓存。

物理内存和虚拟内存swap(交换空间)详解https://www.cnblogs.com/zhongwang/p/15994506.html

 

 

今天的文章linux分区swap分区应该分多少_ubuntu swap分区分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81559.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注