当将 DSL 作为桌面运行时,我的内存使用量很少达到 96mb(FF 和终端打开),但我所有运行 LAMP 堆栈的 ubuntu 服务器在没有流量的情况下都会达到 128mb(当流量确实增加时,它们将达到 500+mb 的区域)。
使用小型 Linux 作为网络服务器是否存在什么问题?
答案1
首先,您要比较运行 FF 和终端的 DSL 桌面与运行 MySQL 和多个 Apache 进程的服务器的内存使用情况。您说的 500mb 是否包括缓存?Linux 将使用所有可用内存,因为未使用的内存是浪费的内存。因此,如果系统中有 512mb 的 RAM,我预计它最终会达到约 500mb 的使用内存。它将为处理中断等留下一些空闲内存分配。我相信您会发现在 DSL 上运行 LAMP 堆栈的内存使用情况与 Ubuntu Server 相似。
除此之外,我还会担心 DSL 的长期可管理性。我不确定 DSL 的存储库和包管理是什么样的,所以我不会将它与 Ubuntu 进行比较。但快速浏览一下 DSL 的 wiki 似乎意味着您需要从源代码进行编译。而 Ubuntu Server 有一个可靠的 LTS,可轻松进行安全更新,并且拥有庞大的存储库,用于存放您可能需要的任何其他库或应用程序,以及处理任何依赖项。
如果这是为企业服务的,请考虑一下将来可能会取代您的人。找到熟悉/熟悉 CentOS、Ubuntu 或 RHEL 的 Web 服务器的人比找到熟悉/熟悉在 DSL 上运行 Web 服务器的人要容易得多。
答案2
您在这里真的是在比较苹果和橘子。Apache 占用大量内存,因为它会根据设计方式生成新进程来处理传入连接(据我所知,在相当常见的 Ubuntu 安装中,每个 Apache 实例的内存大约为 15Mb)。
如果您想减少内存使用量,可以尝试切换到 nginx 或 lighttpd,它们的工作方式不同,不会产生大量进程,并且内存占用更少。大量主要网站已从 Apache 过渡到此类替代方案,并从中获益。我现在更喜欢 nginx 而不是 lighttpd。