运行 out of swap 是什么意思?
What is the meaning of running out of swap?
在 linux 机器中,对于许多情况,我们可能会在交换中遇到错误 运行。到底是什么意思。是不是类似于抖动? 运行 out of space 和 运行 out of swap 是相似的术语吗?我们怎样才能找到修复这类错误的方法?
swap
是您的 RAM 的辅助(基于磁盘的)存储:如果您的应用程序消耗过多内存,RAM 的某些部分会被换出 (移动)到硬盘上,为新的内存请求腾出空间。 (这是在假设换出的内存在不久的将来不再需要的情况下发生的;如果应用程序需要再次访问它,内存将再次换入(移回 RAM),可能首先触发 换出 另一个内存区域)。
交换通常很慢,因为它涉及在 RAM 和硬盘之间移动更大的数据块,所有应用程序都必须等到它完成才能继续。因此,它是一种避免内存不足崩溃的安全措施,但您应该尽可能避免触发交换。
现在 swap-space 本身可以是一个文件或整个分区,但在任何情况下它们的大小也是有限的(由它们所在的分区大小定义,或受限由你 OS).
所以如果你需要换出大量内存(或者swap很小space),你迟早会运行换出swap.
基本上有两种方法可以"fix"这个问题:
- 让你的 swap-space 更大
- 使您的应用程序消耗更少的内存
延长互换 space
- 首先,尝试为您的系统添加更多 RAM。您拥有的 RAM 越多,系统需要换出内存的可能性就越小。
如果这没有帮助(或不可能),您可能需要扩展实际可用的掉期 space:
但实际上这可能只会让您的 "running out of swap" 问题出现得晚一点,所以请继续阅读:
减少内存消耗
今天的计算机有足够的 RAM。
除非您正在处理 非常大 的数据集,或者正在 运行 宁 非常多 并行的内存消耗大的应用程序,否则您不太可能曾经 运行 内存不足 and/or 交换 space.
除非,也就是说,您的某个应用程序具有 memory leak 并且消耗了未绑定的内存量。
尝试找出哪些应用程序用完了所有内存,并检查它们是否正在泄漏资源。
Swap space 是磁盘上的一个区域,用于存储移出内存的进程。在虚拟内存出现之前,这是为多个用户腾出空间的方法。
页面文件是磁盘上用于实现虚拟内存的区域。
交换 => 将整个进程移入和移出内存。
分页 => 将单个页面移入和移出内存。
一些系统同时使用了交换文件和页面文件,但现在的趋势是只使用页面文件。
出于效率目的,页面文件需要连续,这在历史 unix 文件系统上是不可能的。许多 unix 变体使用磁盘分区而不是文件。这在 unix 领域通常称为 "Swap Partition",因为 Unix 最初在不支持虚拟内存的 PDP 上 运行。因此,他们使用交换而不是分页,并且名称保留了下来。
运行 out of swap 的问题取决于你是真的交换还是分页。在虚拟内存系统中,所有用户用户内存都必须映射到一个文件。这通常是可执行文件和页面文件的组合。可执行文件用于对静态内存(代码、数据)进行分页,而页面文件用于对动态内存进行分页。即使物理内存可用,页面文件的大小也是对进程可以拥有的虚拟内存量的限制之一。虚拟内存要求所有内存页都有一个磁盘space。增加物理内存并不能解决 运行 out of paging space.
最近您不太可能遇到交换系统。周围有一些页面文件和交换文件系统。在交换系统中,缺少 space 通常是周围有太多工作 运行 的问题。您可以增加物理内存,但大多数交换系统支持 1、2、4,也许 8 MB(不是 GB)。
在 linux 机器中,对于许多情况,我们可能会在交换中遇到错误 运行。到底是什么意思。是不是类似于抖动? 运行 out of space 和 运行 out of swap 是相似的术语吗?我们怎样才能找到修复这类错误的方法?
swap
是您的 RAM 的辅助(基于磁盘的)存储:如果您的应用程序消耗过多内存,RAM 的某些部分会被换出 (移动)到硬盘上,为新的内存请求腾出空间。 (这是在假设换出的内存在不久的将来不再需要的情况下发生的;如果应用程序需要再次访问它,内存将再次换入(移回 RAM),可能首先触发 换出 另一个内存区域)。
交换通常很慢,因为它涉及在 RAM 和硬盘之间移动更大的数据块,所有应用程序都必须等到它完成才能继续。因此,它是一种避免内存不足崩溃的安全措施,但您应该尽可能避免触发交换。
现在 swap-space 本身可以是一个文件或整个分区,但在任何情况下它们的大小也是有限的(由它们所在的分区大小定义,或受限由你 OS).
所以如果你需要换出大量内存(或者swap很小space),你迟早会运行换出swap.
基本上有两种方法可以"fix"这个问题:
- 让你的 swap-space 更大
- 使您的应用程序消耗更少的内存
延长互换 space
- 首先,尝试为您的系统添加更多 RAM。您拥有的 RAM 越多,系统需要换出内存的可能性就越小。
如果这没有帮助(或不可能),您可能需要扩展实际可用的掉期 space:
但实际上这可能只会让您的 "running out of swap" 问题出现得晚一点,所以请继续阅读:
减少内存消耗
今天的计算机有足够的 RAM。 除非您正在处理 非常大 的数据集,或者正在 运行 宁 非常多 并行的内存消耗大的应用程序,否则您不太可能曾经 运行 内存不足 and/or 交换 space.
除非,也就是说,您的某个应用程序具有 memory leak 并且消耗了未绑定的内存量。
尝试找出哪些应用程序用完了所有内存,并检查它们是否正在泄漏资源。
Swap space 是磁盘上的一个区域,用于存储移出内存的进程。在虚拟内存出现之前,这是为多个用户腾出空间的方法。
页面文件是磁盘上用于实现虚拟内存的区域。
交换 => 将整个进程移入和移出内存。 分页 => 将单个页面移入和移出内存。
一些系统同时使用了交换文件和页面文件,但现在的趋势是只使用页面文件。
出于效率目的,页面文件需要连续,这在历史 unix 文件系统上是不可能的。许多 unix 变体使用磁盘分区而不是文件。这在 unix 领域通常称为 "Swap Partition",因为 Unix 最初在不支持虚拟内存的 PDP 上 运行。因此,他们使用交换而不是分页,并且名称保留了下来。
运行 out of swap 的问题取决于你是真的交换还是分页。在虚拟内存系统中,所有用户用户内存都必须映射到一个文件。这通常是可执行文件和页面文件的组合。可执行文件用于对静态内存(代码、数据)进行分页,而页面文件用于对动态内存进行分页。即使物理内存可用,页面文件的大小也是对进程可以拥有的虚拟内存量的限制之一。虚拟内存要求所有内存页都有一个磁盘space。增加物理内存并不能解决 运行 out of paging space.
最近您不太可能遇到交换系统。周围有一些页面文件和交换文件系统。在交换系统中,缺少 space 通常是周围有太多工作 运行 的问题。您可以增加物理内存,但大多数交换系统支持 1、2、4,也许 8 MB(不是 GB)。