Linux 中的交换是驱动器上的特定区域,为虚拟内存保留。它们主要用于在处理视频编辑等繁重任务时提高计算机性能。当系统处理这些任务有困难时,内核会将不活动的进程转移到 Swap 中,为进程在工作内存中工作提供空间。
一般情况下,Linux安装过程中会默认创建Swap分区,并会根据上述目的确定硬盘空间。但是,如果您的旧计算机上有一个小驱动器或在较新的设备上使用 SSD,那么这项工作有一些缺点,例如空间问题。
- 7 个错误轻松“杀死”固态硬盘
SSD 的问题在于将其限制写入单元格的能力。由于磨损程度、闪存寿命有限和多次写入次数,单个驱动器无法使用。
那么,有什么替代方案?
使用专用的 Swap 分区是不切实际的,因此您可以使用 Swap 文件作为替代方案。文件交换是功能性的,工作方式类似于分区,它还能够控制大小而不会导致卷上的大小更改问题。
- 什么是Swapfile.sys,如何删除Swapfile.sys?
如何在 Linux 上创建交换文件
下面的说明将创建一个 1GB 的交换文件。首先,通过在终端窗口中输入以下命令来创建文件:
sudo fallocate-l 1G/mnt/1GB.swap
如果没有安装fallocate,可以运行如下命令:
sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576
现在格式化文件交换:
sudo mkswap/mnt/1GB.swap
将Swap作为文件Swap添加到系统中:
sudo swapon/mnt/1GB.swap
在文本编辑器中打开 '/etc/fstab' 并在末尾添加此内容以进行永久更改:
/mnt/1GB.swap 无交换 sw 0 0
请分析上述命令结构:
- '/mnt/1GB.swap'-这是设备名和文件名
- "swap"-指定挂载点
- "swap sw"-显示由 swapon-s 启用的文件交换(见下文)
- '0 0'-这些是转储章节和相应的 fsck 命令使用的选项
此时如果想改变'swappiness'的值,可以和上面的fstab编辑时一样编辑'/etc/sysctl.conf'。 swappiness 值通常为 60,数字越大(最大为 100),虚拟内存之间的交换越快。
vm.swappiness=10
所需的交换数量取决于操作系统的执行方式和使用的内存。用户应该尝试找到最适合自己的数字。如果上述值设置为 0,则仅在系统内存不足时使用 Swap 文件。大于 0 的值将允许系统交换空闲进程并释放内存以节省磁盘空间。这可以提高整体系统性能。
最后检查一下 Swap 是否正常工作:
sudo swapon-s
然后,重新启动计算机,Swap 文件将充当交换分区。
祝大家成功!
查看更多:
- 为什么 Linux 不需要碎片整理?
- 加速 Ubuntu 系统的 6 种方法
- 提高 Linux 启动速度的 5 项措施
评论