64 位 Linux 内核升级后仅显示 4GB 中的 3GB

64 位 Linux 内核升级后仅显示 4GB 中的 3GB

大家好。我在 MacBook 上运行的是 Ubuntu 9.04 64 位。我之前有 2GB 的 RAM,运行一切正常。我刚刚升级到 2x2GB(4GB),但我的系统只看到其中的 3GB。我双启动的 OS X 看到全部 4GB。此外,我的视频性能非常差。升级之前,我的 compiz 基准测试以 80fps 完成,现在为 22fps,窗口拖动非常不流畅。

有人听说过 64 位内核上存在此问题吗?我只是不太明白问题可能是什么。

10$ uname -a
Linux macbook 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 19:25:34 UTC 2009 x86_64 GNU/Linux

$ free -m
             total       used       free     shared    buffers     cached
Mem:          2953       1031       1921          0        114        427
-/+ buffers/cache:        489       2463
Swap:         7812          0       7812

9$ lsmod
Module                  Size  Used by
i915                   77960  2 
drm                   123232  3 i915
binfmt_misc            18572  1 
ppdev                  16904  0 
btusb                  21784  2 
bridge                 63776  0 
stp                    11140  1 bridge
bnep                   22912  2 
vboxnetadp            109356  0 
vboxnetflt            116972  0 
vboxdrv              1721612  1 vboxnetflt
uvcvideo               69640  0 
compat_ioctl32         18304  1 uvcvideo
videodev               45184  2 uvcvideo,compat_ioctl32
v4l1_compat            23940  2 uvcvideo,videodev
lp                     19588  0 
parport                49584  2 ppdev,lp
snd_hda_intel         557492  3 
snd_pcm_oss            52352  0 
snd_mixer_oss          24960  1 snd_pcm_oss
snd_pcm                99464  2 snd_hda_intel,snd_pcm_oss
arc4                   10240  2 
snd_seq_dummy          11524  0 
ecb                    11392  2 
snd_seq_oss            41984  0 
snd_seq_midi           15744  0 
snd_rawmidi            33920  1 snd_seq_midi
snd_seq_midi_event     16512  2 snd_seq_oss,snd_seq_midi
snd_seq                66272  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
ath9k                 310584  0 
snd_timer              34064  2 snd_pcm,snd_seq
snd_seq_device         16276  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
mac80211              251528  1 ath9k
iTCO_wdt               21712  0 
iTCO_vendor_support    12420  1 iTCO_wdt
joydev                 20992  0 
video                  29204  0 
snd                    78920  15 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
applesmc               37700  0 
output                 11648  1 video
soundcore              16800  1 snd
pcspkr                 11136  0 
cfg80211               43680  1 mac80211
appletouch             19972  0 
isight_firmware        11520  0 
input_polldev          12688  1 applesmc
intel_agp              39408  1 
snd_page_alloc         18704  2 snd_hda_intel,snd_pcm
led_class              13064  2 ath9k,applesmc
hid_apple              15872  0 
usbhid                 47040  0 
ohci1394               42164  0 
ieee1394              108288  1 ohci1394
sky2                   63364  0 
fbcon                  49792  0 
tileblit               11264  1 fbcon
font                   17024  1 fbcon
bitblit                14464  1 fbcon
softcursor             10368  1 bitblit

来自 dmesg 的一些信息:

[  795.820163] ACPI: EC: GPE storm detected, transactions will use polling mode
[ 1762.709516] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 1763.078130] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 2362.760889] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 2416.352084] ACPI: EC: missing confirmations, switch off interrupt mode.
[ 3718.721095] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 3719.108914] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 4318.773266] [drm:i915_getparam] *ERROR* Unknown parameter 6
[ 9513.813066] CE: hpet increasing min_delta_ns to 15000 nsec
[ 9693.815684] npviewer.bin[6736]

答案1

如果您的 Mac Book 带有 Intel 945 芯片组,则只能使用 3 GB。Mac OS“关于此 Mac”将显示总共 4 GB,但操作系统只能使用 3 GB,就像 Linux 一样。

您在使用“关于本机”时看到 4 GB 的原因是因为 Mac OS X 不是从可用值中获取该值,而是从探测硬件时 DIMM 报告的值中获取该值。

是的,这属于超级用户:-)

答案2

视频延迟可能是由于已知存在问题的 Intel GMA 驱动程序造成的。请查看此主题在 Ubuntu 论坛上。

答案3

关于视频问题,请尝试升级内核并重新安装芯片组的视频模块,英特尔曾经对 Linux 提供过很好的支持。也可能只是你得到了直接渲染基础设施在升级中被禁用。

在点英特尔自己的 Linux 驱动程序页面 5.3是关于如何启用该功能的演示。

DRI(直接渲染基础设施)是一个允许在 X Window 系统下以安全、高效的方式直接访问图形硬件的框架。您需要在 xorg.conf 中启用 DRI。

首先,确保 GLX 和 DRI 模块正在加载:

Section "Module"
    # ...
    Load "glx"
    Load "dri"
    # ...
EndSection

然后,适当设置 DRI 的权限。要允许任何人使用 DRI,请执行以下操作:

Section "DRI"
    Mode 0666
EndSection

重新启动 X 服务器后,您可以通过运行 glxinfo 检查直接渲染是否启用,glxinfo 的输出应显示:

direct rendering: Yes 

相关内容