Linux 内核 RAM 限制

Linux 内核 RAM 限制

我有一台运行 CentOS 4 32 位、具有 12GB RAM 的机器。

如果我运行 free 命令,我会看到:

# free
             total       used       free     shared    buffers     cached
Mem:      12409180    2227676   10181504          0      48544     961296
-/+ buffers/cache:    1217836   11191344
Swap:      4192956          0    4192956

如果我运行 top,我会发现我们有 12GB 的 RAM。

问题是我正在运行内核 2.6.9-78.0.22.ELsmp,我想知道系统是否能够使用超过 4 GB 的 RAM。我看到很多东西都说您需要这个内核版本 (PAE) 或您需要 smp 内核版本。我知道在 32 位操作系统中,每个进程的 RAM 是有限的,但我想知道操作系统是否可以为应用程序使用超过 4 GB 的内存(例如 5 个应用程序每个使用 2 GB 的 RAM)。

答案1

即使使用 PAE,每个进程的空间仍然严格限制为 4GB,但可以运行多个进程。

答案2

是的。您的内核已启用 12 GB,并且可以使用每个具有 2 GB 内存的多个进程。

答案3

假设 PAE 正在使用,因此可以访问 4GB 以上的内存,每个进程将获得 4GB 的虚拟内存空间。它们可以并且确实使用 4GB 以上的内存,只是延迟比 4GB 以下的 RAM 更高。

相关内容