| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux 交换分区的作用有哪些? -> 正文阅读 |
|
[系统运维]Linux 交换分区的作用有哪些? |
大多数 Linux 安装建议您包含交换分区。对于习惯将整个操作系统放在一个分区上的 Windows 用户来说,这可能看起来很奇怪。交换分区有什么作用,你甚至需要一个,它应该有多大?这些都是重要的问题,只要选择正确,就可以极大地提高系统的性能。 Linux 交换分区的作用 交换分区用作 RAM 的溢出空间。如果您的 RAM 完全填满,任何其他应用程序都将在交换分区而不是 RAM 上运行。 这听起来像是一种增加计算机可用内存量而不实际获得更多 RAM 的简单方法,但事实并非如此。RAM 是内存的理想硬件,因为它非常快,不像硬盘驱动器,相对而言,速度要慢得多。 固态驱动器的速度大大提高,可能使性能受到的影响较小,但即使它们也无法与 RAM 匹敌。较新的 NVMe SSD也是如此。无论哪种情况,您都不希望对固态驱动器造成额外的磨损。 与交换分区非常相似的是Windows 页面文件,尽管两者之间存在许多技术差异。 Linux 交换分区不限于溢出存储空间。它可以通过其他方式帮助您的 PC。 优先级 交换分区还可以帮助将一些项目从内存移动到硬盘驱动器,以便为更重要的项目留出更多内存空间。这意味着很少接触的项目将被移动到交换分区。 被认为是“稀有”的阈值取决于可配置的“swappiness”(是的,这是实际使用的术语)。更高的交换性意味着数据更有可能被移动到交换分区。较低的交换性意味着数据不太可能移动到交换分区。 休眠 每当您告诉系统休眠时,交换分区都会用作内存内容的目的地。这意味着如果没有交换分区,Linux 上的休眠是不可以的。 也就是说,人们很少使用休眠功能,所以这对你来说可能无关紧要。 您需要交换分区吗? 这是否意味着交换分区是必要的?一点也不!Linux 系统可以在没有交换分区的情况下完美运行。我们已经讨论了交换分区的好处。现在,你为什么不想拥有一个? 当交换分区没有帮助时 交换分区有其缺点。它们占用的硬盘空间在不使用时不会动态调整大小。大量交换使用也会增加主驱动器的磨损。在某些情况下,交换分区甚至无助于提高性能。这是一个示例,其中拥有交换分区实际上可能比没有交换分区更糟糕。 假设您在只有 2GB RAM 和 5400rpm 硬盘的旧上网本上安装了 Linux。只需 2GB 内存,您可以想象打开几个浏览器选项卡会很快填满。交换分区允许您在内存溢出时保持它们全部打开。 但随后由于硬盘驱动器的 5400rpm 速度出现了瓶颈。由于硬盘驱动器非常慢并且系统不断想要访问交换分区,因此上网本变得非常缓慢。除非您关闭所有内容以释放一些内存,否则机器速度很慢以至于无法使用。 设置的 swappiness 并不能保证一旦 RAM 中的空间可用,交换分区中的所有内容都会移回。相反,很多可能会留在交换分区中,导致上网本继续运行缓慢。因此,您需要重新启动计算机以从头开始,这需要一段时间,因为系统必须在关闭之前从交换分区中删除所有内容。 当你没有交换时会发生什么 如果您决定放弃交换分区,请了解风险。当您的计算机需要的 RAM 超出可用内存时,界面可能会锁定。您可能不得不强制退出计算机并丢失您正在处理的所有数据。 在这种情况下,您可能希望周围有一个交换分区,即使它只使用过一次。这取决于您是否经常发现自己的存储空间不足。如果您将可用存储空间减少了 4GB,您会注意到吗?因为您将这些空间用于交换? Linux 交换建议 以下是一些关于何时可能需要交换分区以及设置多大的建议。 如果您希望能够使您的计算机休眠,那么您应该有一个交换分区。这个分区的大小应该是您安装的内存大小,再加上 10-25% 的空间,以便为已经移入交换分区的任何项目留出空间。 只是想要一个小的性能提升(并且你至少有一个 7200rpm 的硬盘)?然后,您可以根据需要添加交换分区。它的大小可以是任何你想要的,但如果你创建一个交换分区来启用休眠,我不会让它比你做的更大。 如果您偶尔使用需要额外 RAM 的繁重应用程序,交换分区可以让您高枕无忧。在这种情况下,您不需要交换分区与 RAM 一样大。 如果您有一个 5400rpm 的硬盘驱动器,那么您可能不想创建交换分区,因为瓶颈会使您的计算机变得更糟。但是,如果您绝对想要交换,那么您仍然可以使用上述相同的大小指南创建一个分区。只要确保将 swappiness 值更改为更低的值。 改变交换性 与 Linux 桌面的许多方面一样,您计算机的 swappiness 存储在一个文本文件中。您可以通过导航到/proc/sys/vm找到此文件。 当您打开文件时,您将看到一个数字,指示您当前的交换状态。只要您具有 root 权限,您就可以使用您选择的任何文本编辑器编辑此文件。 要使用 Ubuntu 和 Fedora 中的默认 GNOME 文本编辑器执行此操作,您可以尝试: sudo gedit /proc/sys/vm/swappiness 无论您安装了哪个文本编辑器,还有一个命令行选项都可以使用。只需输入: sudo sysctl vm.swappiness=20 您可以输入 0 到 100 之间的任何数字。该值表示您希望 Linux 何时开始主动将进程从内存移动到交换分区。因此,例如,值 20 表示当内存使用率达到 80% 时将移动进程;Ubuntu 中的默认交换值 60 表示当内存使用率达到 40% 时将移动进程。 您可以通过重新打开该文本文件来检查更改是否成功。不出所料,该终端提供了一种更快的方式来检查您的 swappiness。只需输入以下命令: cat /proc/sys/vm/swappiness 总结 交换分区可以对系统性能产生重大影响——有时会更好,有时会更糟。既然您知道交换分区的用途,希望您能够更好地做出适合您情况的决定。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:56:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |