VPS内存使用 – 有点困惑?

我有一个VPS拥有512 MB的专用内存,最高可突破1GB。

我最近安装了nginx,而且我注意到内存使用量激增。 使用Apache,它使用了大约170MB。 用nginx,大概是350-400MB。

我通过SSH运行“top”命令,但没有返回到使用大量的内存。 MySQLD似乎是内存使用率最高的,仅为3%。

这是什么原因造成的?

你可能会发现你的内存被用作缓冲区/caching,看看Linux吃了我的内存 。

正如womble指出的那样,这可能是一个操作系统级别的虚拟化(Virtuozzo,OpenVZ,lxc等),这意味着所有用户都使用一个内核。 “虚拟化”意味着你不能在同一台(真实的)机器上看到其他用户的进程。

由于Apache(仍然)比nginx更受欢迎,有可能有人也在同一主机上运行它。 这意味着内核可以共享相当大的内存。 实际上,加载一次运行两次。

如果这台主机上没有其他人运行Nginx,那么您就失去了这个优势,内核必须专门为您加载,并且显示在您的RAM预算中。

说,我不认为nginx的二进制代码是如此之大(180 + MB); 大部分似乎是configuration中的一些慷慨的分配。