Ubuntu 8.04 JeOS 使用大量内存,但不知道是什么在使用它

Ubuntu 8.04 JeOS 使用大量内存,但不知道是什么在使用它

所以,我有 2 个新的 Ubuntu 8.04 JeOS VM 在运行,它们都非常轻量,并且根本没有运行太多程序,没有 Apache、MySQL 等等。但它们却使用了 350M 的 RAM,我不明白为什么。

我已经查看过ps -auxw --sort rss,但只能看到常规 sshd、bash 等进程正在运行,而且它们根本没有占用太多内存。

top显示空闲率为 99.6%,因此没有任何占用大量 CPU 的程序在运行。

free -mt输出:

          total       used       free     shared    buffers     cached  
Mem:        503        350        152          0        111        174  
-/+ buffers/cache:      64        438  
Swap:       471          0        471  
Total:      975        350        624

(是的,为了测试目的,它只有 512MB 的 RAM。

编辑:我也有几个运行 Ubuntu 9.04 32 位服务器版本的虚拟机,它们使用 20-30M 的 RAM,并且安装了几乎相同的软件包。

答案1

使用的内存大部分是缓冲区或缓存。根据输出的第二行,实际使用的内存量(用于除缓冲区/缓存以外的其他用途)大约为 64Mb free

当应用程序需要时,通常可以清除和使用用于缓存和缓冲区的内存,但是当有备用内存时,内核将使用它来尝试减少 I/O 负载。

您可以使用强制清除大部分缓存和缓冲区sync; echo 3 > /proc/sys/vm/drop_caches,然后重新运行free以查看差异。

不是相当这一点并不明确,因为其他东西也会被计入缓冲区或缓存总量,包括tmpfs文件系统和在某些虚拟化产品中分配给主机的虚拟机内存(尽管这在这里不是问题,因为这是您正在讨论的虚拟机,而不是主机)。请参阅这个问题的答案更详细,因为我已经偏离了这个特定问题的重点。

相关内容