Varnish内存管理

Varnish内存管理

我有一个关于 Varnish 的相当“愚蠢”的问题。我一直在阅读有关 Varnish 缓存存储类型的信息,但不明白以下会发生什么:

假设我们有 2GB 的可用内存。

清漆(带文件存储)占用 1.5GB

然后出现一个需要 600MB 的进程。

会发生什么?Varnish 会减少内存使用量(并将剩余部分存储在磁盘上)吗?

答案1

Varnish 不会减少分配给它的内存量 - 但这是虚拟内存。如何处理它将取决于操作系统及其配置方式。

在您的示例中,假设它在 Linux 上运行,那么它将取决于分配了多少物理内存(RAM 和交换)(它将小于或等于分配的虚拟内存量)。由于应用程序经常要求比它们需要的更多的内存,因此 mst 发行版上的默认配置是将内存过度使用 50%。如果过度使用允许第二个应用程序分配内存,那么它将启动。当物理内存使用量超过某个阈值时,OOM killer 将启动终止过程。如果 600Mb 超过了物理内存量 + 过度使用内存量,那么 malloc 调用应该会失败 - 此时新应用程序应该能够正常处理这种情况。

相关内容