《树莓派实战秘籍》——1.20 技巧20使用Swap添加额外的内存

简介:

本节书摘来异步社区《树莓派实战秘籍》一书中的第1章,第1.20节,作者:【美】Ruth Suehle ,Tom Callaway,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.20 技巧20使用Swap添加额外的内存

树莓派实战秘籍
你的树莓派需要更多一点的内存吗?Swap可以让你交换磁盘空间和内存。

Linux长久以来就包含了swap的概念,其核心是在RAM和磁盘之间移动内存页的能力。在实际应用中,这种能力给操作系统提供了更多的可用内存(以磁盘空间的成本)。因为B型树莓派只有512MB内存,增加swap文件(或分区)以提高可用内存的想法很吸引人。

Swap的危害

在我们开始之前,你应该要了解一下这种方法的缺点。Swap的速度只是存储设备的写入速度,同时这也是一个高度写密集型操作。从实用的角度来看,这就是说,如果你增加了树莓派的SD卡中的交换空间,这将造成整体磁盘的性能显著下降,特别值得注意的是它还会缩短SD卡的寿命。

因为树莓派的整个操作系统都运行在SD卡上,我们强烈建议你不要将swap文件或分区放置在SD卡上。这些缺点也适用于连接到树莓派的USB闪存驱动器,因为它们也是基于闪存的存储设备,添加swap文件到USB闪存驱动器将造成同样的整体性能下降和寿命缩短。如果你真的想添加swap,最好是通过连接在SATA到USB转换器之间的一个实际的外部硬盘驱动器上来实现。
Raspbian预配置中通过dphys-swapfile文件启用了100MB swap文件。你可以通过编辑/etc/dphys-swapfile文件来修改此交换文件的设置,它只有一个选项:CONF_SWAPSIZE。如果你想增加交换文件的大小,可以把该值从100改为一个更大的值(取决于你的SD卡上的可用空间)。或者,你也可以通过将该值改为++0来禁止这个选项。

任何更改值都不会立刻生效,直到你运行如下命令:

048b7658b4fbc7a784c6a3aa6420bdaeaf0736a7

Pidora在默认第一次启动时配置了512MB的swap(除非用户另有指定),这个文件位于/swap0目录下,并通过rootfs-resize服务在/etc/fstab中配置。

对于其他的Linux发行版(或者放置一个交换文件到一个不同的位置),你需要手工创建交换文件:

3ac5f31227941252177709b3fd56a835eede2ef0

上述命令将在/path/to/swapfile位置生成一个1GB的swap文件(1024×1 M = 1 GB),你需要将这个位置改成你的交换文件的实际位置。要在启动后自动启用这个swap文件,可以在/etc/fstab文件中添加一个新行:

01308b788830290c6e658c406de041c71d404235

你可以在free命令的输出中看到更多的内存(作为swap):

aefe3bd7f8bf91d4b7d1ebaa5788959f3743cb5b
相关文章
|
9月前
|
缓存 监控 关系型数据库
二十、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
swap分区已在系统安装初期已经分配了swap分区。
93 0
|
11月前
教你如何使用一条命令轻松查看电脑所支持的最大运行内存
教你如何使用一条命令轻松查看电脑所支持的最大运行内存
1143 0
|
9月前
|
存储 缓存 算法
十九、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
十九、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
53 0
十九、Linux性能优化实战学习笔记- 为什么系统的Swap变高了?
|
11月前
操作系统--I/O管理知识整理(供自己复习所用
I/O一直比较薄弱,都分不清在干啥,又听了一遍课,默写一下脑子里留下的东西,原来不是分不清,是听完课,脑子里就留下来30%…… I/O子系统层次结构
|
NoSQL Linux 编译器
操作系统课程设计:新增Linux驱动程序(重制版)(一)
操作系统课程设计:新增Linux驱动程序(重制版)
155 1
操作系统课程设计:新增Linux驱动程序(重制版)(一)
|
Linux Shell
操作系统课程设计:新增Linux驱动程序(重制版)(二)
操作系统课程设计:新增Linux驱动程序(重制版)
107 0
操作系统课程设计:新增Linux驱动程序(重制版)(二)
|
Linux C语言 Windows
操作系统课程设计:新增Linux驱动程序(重制版)(三)
操作系统课程设计:新增Linux驱动程序(重制版)
154 0
操作系统课程设计:新增Linux驱动程序(重制版)(三)