gpt4 book ai didi

memory-management - 了解 CentOS 内存使用情况

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:08 25 4
gpt4 key购买 nike

我不是操作系统专家,我无法理解服务器的内存使用情况。我需要你的建议来理解以下内容:

我的服务器有 8 GB RAM 并作为网络服务器运行。 PHP、mySQL 和 Apache 进程消耗了大部分内存。当我在系统重新启动后发出“free”命令时,我通常会看到类似以下内容的内容:

             total       used       free     shared    buffers     cached
Mem: 8059080 2277924 5781156 0 948 310852
-/+ buffers/cache: 1966124 6092956
Swap: 4194296 0 4092668

显然,空闲内存迟早会下降,而缓存内存会增加,我认为这没有任何问题,因为操作系统决定缓存它。

我不明白的是,在机器重新启动后大约 1-2 天后,我会看到使用的交换内存略有增加。这是否意味着服务器不再有可用内存并使用 IO 代替?我如何才能了解是哪些进程导致了这种情况?

我向 stackoverflow 用户提出这个问题,因为如果我向我的托管服务提供商提出这个问题,我相信他们会要求更多的钱来增加 RAM。谢谢。

最佳答案

这是完全正常的。当机器启动时,大量的服务也随之启动。当它们运行启动代码、读取配置等时,它们会弄脏一些内存页。其中许多服务将永远不会再运行。通过将此数据写入交换区,操作系统完成了两件事:

首先,如果它确实遇到内存压力,它可以丢弃页面而不必先写入它们,因为它已经写入了它们。其次,它可以丢弃页面以腾出更多的空闲内存来扩大缓存。

另一种方法是将几天内未被触及的信息保存在物理内存中。那就是没有意义。

关于memory-management - 了解 CentOS 内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com