我有一台运行 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 更高。