Debian 操作系统分区上的所有系统内存都不可用

Per*_*123 2 linux debian x86 ram

我有一台装有 Windows 7 和 Debian 操作系统磁盘分区的计算机。登录 Windows 7 操作系统时可以看到该计算机具有 12GB 内存。但是,Debian 分区只能识别不到 4GB 的内存。为什么会这样,我该如何解决?

当我运行“free”命令时,我看到减少的 RAM 量,以及当我尝试在 Virtual Box 中创建虚拟机时,VM 允许的最大 RAM 以相同的低量结束。据我所知,(这不是说太多..)操作系统分区只是磁盘分区而不是 RAM 分区。

编辑:

运行 Debian 6 "Squeeze" 32 位

'free' 命令的输出

          total      used    free       ....
Mem:    3619800     386568   3233232    ...
-/+ buffers/cache:   66944   3552856  
Swap:    497972         0    497972   
Run Code Online (Sandbox Code Playgroud)

我没有安装 Gnome,所以我不确定如何截取屏幕截图。但是在 VirtualBox 中,你有一个为 VM 分配 RAM 的设置,在这个 Linux 分区上,该选项最大为 3584MB。

Gil*_*il' 5

4GB 的内存需要 32 位来存储地址。大多数 32 位处理器架构只能处理 4GB 的内存,旧的 x86 CPU 也不例外。

最近的 32 位 x86 CPU 可以通过称为PAE的处理器功能访问超过 4GB 的物理内存。¹ 64 位 x86 CPU 始终具有 PAE。

PAE 需要 Linux 内核编译选项。如果没有这个选项,内核只能寻址 4GB 的 RAM,其中一些会丢失,因为它被显卡等外围设备使用。但是使用此选项,内核将无法在没有 PAE 功能的处理器上运行。

Debian 的默认内核与大多数 x86 处理器兼容,但不能利用最近(-ish)处理器的某些功能,例如 PAE。要使用超过 4GB 的 RAM,请安装启用 PAE 的内核并重新启动。在 Debian 挤压上,你需要linux-image-2.6-686-bigmem.

如果您有 64 位 CPU,则可以改为安装 64 位内核:linux-image-2.6-amd64。使用 64 位内核,您可以使用超过 4GB 的 RAM,并且可以运行 32 位和 64 位应用程序。或者您可以安装整个 64 位发行版(amd64架构)。要确定您的处理器是否为 64 位处理器,请运行grep -w lm /proc/cpuinfo- 如果出现一行flags : … lm …,则您使用的是 64 位 CPU。

请注意,在 32 位系统上,虚拟内存的大小仍然限制为 4GB。在 Linux 上,它分为 1-3GB 用于内核和 1-3GB 用于进程。这是进程中可寻址内存的限制;32 位系统可以使用超过 4GB 的 RAM,因为每个进程最多可以使用 1-3GB 的 RAM。因此,如果您想运行具有 3GB 以上 RAM 的 VirtualBox VM,则需要安装 64 位发行版。