Here's system configuration in short: Motherboard: EVGA NForce 790i Ultra SLI CPU: Intel Core2 Quad Q9550 RAM: Patriot Viper Series DDR3 Dual Channel 1800MHz 2x2GB Kernel: 2.6.27-gentoo-r7 I've compiled the kernel with all the appropriate options for a quad core 64 bit system (unless I screwed up by missing something obvious/not clear). It seems that, out of the 4GB memory, only 2.95GB are seen by the kernel and other utils. Free reports as follows: ------------------------------------------------------------------------------ total used free shared buffers cached Mem: 3091468 1487596 1603872 0 214972 574672 -/+ buffers/cache: 697952 2393516 Swap: 0 0 0 ------------------------------------------------------------------------------- This is what /proc/meminfo has: ------------------------------------------ MemTotal: 3091468 kB MemFree: 1605600 kB Buffers: 214972 kB Cached: 574676 kB SwapCached: 0 kB Active: 535812 kB Inactive: 487852 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 296 kB Writeback: 0 kB AnonPages: 234012 kB Mapped: 103792 kB Slab: 406020 kB SReclaimable: 394648 kB SUnreclaim: 11372 kB PageTables: 13816 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1545732 kB Committed_AS: 1171892 kB VmallocTotal: 34359738367 kB VmallocUsed: 312096 kB VmallocChunk: 34359425531 kB DirectMap4k: 64448 kB DirectMap2M: 3080192 kB -------------------------------------------- Here's the dmesg e820 snippet: ----------------------------------------------SNIP----------------------------- BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009b800 (usable) BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000bfef0000 (usable) BIOS-e820: 00000000bfef0000 - 00000000bfef3000 (ACPI NVS) BIOS-e820: 00000000bfef3000 - 00000000bff00000 (ACPI data) BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000000140000000 (usable) user-defined physical RAM map: user: 0000000000000000 - 000000000009b800 (usable) user: 000000000009b800 - 00000000000a0000 (reserved) user: 00000000000f0000 - 0000000000100000 (reserved) user: 0000000000100000 - 00000000bfef0000 (usable) user: 00000000bfef0000 - 00000000bfef3000 (ACPI NVS) user: 00000000bfef3000 - 00000000bff00000 (ACPI data) user: 00000000e0000000 - 00000000f0000000 (reserved) user: 00000000fec00000 - 0000000100000000 (reserved) ----------------------------------------------SNIP----------------------------- I've attached my kernel config file and the output of lspci -vv. I do not face this problem in Vista 64 bit. Vista 64 bit sees and utilizes all the 4GB memory. Memtest can also see 4GB and test all of it. I've tried booting with 64 bit gentoo CD and it too fails to see the 4GB memory. Going by the e820 map, if the BIOS is saying only 4GB are available, then why is that Vista and memtest report 4GB and not 3GB as linux reports ? Any help would be greatly appreciated. Please let me know if you need further info. Thanks. Reproducible: Always Expected Results: System sees all the 4GB memory installed. Portage 2.2_rc19 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r7 x86_64) ================================================================= System uname: Linux-2.6.27-gentoo-r7-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-glibc2.2.5 Timestamp of tree: Thu, 25 Dec 2008 19:35:01 +0000 app-shells/bash: 3.2_p48 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.5.2-r8 dev-util/cmake: 2.6.2 sys-apps/baselayout: 2.0.0-r1 sys-apps/openrc: 0.4.0 sys-apps/sandbox: 1.3.2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -mtune=core2 -O2 -pipe -s -mmmx -msse -msse2 -mssse3 -msse4a -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=core2 -mtune=core2 -O2 -pipe -s -mmmx -msse -msse2 -mssse3 -msse4a -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="collision-protect distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" LINGUAS="en en_US" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/kde-crazy" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="!debug 3ds 7zip S3TC X Xaw3d a52 aac aalib accessibility acl acpi addbookmarks aften aiglx aim aio akode alias alsa amarok amd64 amr amrnb amrwb ao aotuv apache2 aqua_theme archive asf athena audacious audacity audiofile audiofileautoreplace avahi bash-completion bcmath berkdb binary-drivers bluetooth bluez boost branding bzip2 cairo calendar caps captury cdb cdda cddb cdinstall cdparanoia cdr cdrom cdsound cegui cg cgi clamav cli connectionstatus contactnotes cpudetection cracklib crypt cscope css ctype cups curl curlwrappers custom-cflags custom-cpuopts custom-optimization cvs cxx dbus depth32 dhcp dio divx djvu dnd double-precision dovecot-sasl dpms dri dts dv dvb dvbplayer dvbsetup dvd dvdr dvdread eds emboss emerald encode evo exif expat exscalibar fam fame fastcgi fasttrack fbcondecor fbsplash ffmpeg fftw file filter filter_default filter_legacy filter_light firefox fits flac fltk fontconfig foomaticdb fortran ftp gadu gammu gcj gd gdbm geoip geos ggi gif gimp gimpprint glitz glut glw glx gmath gml gnokii gnutella gnutls gpgme gphoto2 gpm gtk gtk2 guile hal hardened hddtemp hdf5 highlight history ical iconv icq icu id3 id3tag ieee1394 imagemagick imap imlib innodb inotify iodbc ipv6 irc irda irmc isdnlog jabber jack java java6 javascript jbig jce jikes jingle joystick jpeg jpeg2k kcal kde kde4 kdecard kdeenablefinal kdehiddenvisibility kdepim kdm kexi kipi kolab ladspa lame lapack largefile lash lcms lesstif libcaca libnotify libsamplerate libwww lirc live lm_sensors logitech-mouse lzo lzw mad magic maildir maps matroska maxoptimization mbox mcal mcve mdnsresponder-compat memlimit mesa metric mhash midi mikmod milter mime mixer mjpeg mmap mmx mmxext mng modplug motif mp2 mp3 mp4 mpeg mpeg2 mplayer msn mtp mudflap mule multilib musepack music musicbrainz mysql mysqli ncurses neXt net netboot netcdf netmeeting network networking newspr ngui nls no-old-linux nocd nosendmail nova nowin nowlistening nptl nptlonly nsplugin nvidia obex objc objc++ objc-gc odbc ode offensive ofx ogdi ogg ogg123 ogm openexr opengl openmp oscar oss pam paste64 pch pcmcia pcntl pcre pda pdf perl php physfs pic pixmaps plasma player plugins pmu png pnm portage posix postgres ppds pppd prelude pvr python qt3 qt3support qt4 quicktime rar raw rdesktop readline reflection reiser4 reiserfs remix resolvconf rogue rtc ruby samba sametime sasl scanner scenarios schedule scsi sdl sdl-sound sdlaudio sendfile server session sharedext shorten sieve slp smartcard smp sms sndfile sockets socks5 sounds sox speex spell spl sqlite sqlite3 srt sse sse-filters sse2 sse4_1 sse4a ssl ssse3 startup-notification statistics stats stencil-buffer stroke subp subtitles subversion suid svg sysfs syslog-ng sysvipc szip taglib tcpd texteffect textures tga themes theora threads threadsafe tidy tiff timidity tk tokenizer tomsfastmath toolbartools transcode translator truetype tv tv_check tv_combiner tv_pick_cgi type1 unicode unzip usb userlocales utempter v4l v4l2 vcd vhosts vim-pager vim-syntax vim-with-x visualization vnc vorbis wavpack webdav webkit webpresence wifi wireshark wma wmf wmp wxwindows x264 xanim xattr xcb xcomposite xext xface xine xinerama xinetd xml xmp xorg xosd xpm xprint xrandr xrender xscreensaver xskatcards xsl xulrunner xv xvid xvmc yiff yv12 zeroconf zip zlib zsh-completion zvbi" ALSA_CARDS="snd-hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="adc65 agfa_cl20 aox barbie canon casio_qv clicksmart310 digigr8 digita dimagev dimera3500 directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica konica_qm150 largan lg_gsm mars mustek panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 pccam300 pccam600 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ptp2 ricoh ricoh_g3 samsung sierra sipix_blink sipix_blink2 sipix_web2 smal sonix sony_dscf1 sony_dscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z template toshiba_pdrm11" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 177289 [details] Kernel 2.6.27-gentoo-r7 .config Attached Kernel 2.6.27-gentoo-r7 .config
Created attachment 177291 [details] lspci -vv output Attached lcpci -vv output
I think you should enable CONFIG_HIGHMEM4G=y. In menuconfig: Processor type and features ---> High Memory Support ---> 4GB
(In reply to comment #3) > I think you should enable CONFIG_HIGHMEM4G=y. > In menuconfig: Processor type and features ---> High Memory Support ---> 4GB > The highmem is only relevant to 32-bit systems, not 64-bit. This bug report looks like the one raised in forum back in late November: http://forums.gentoo.org/viewtopic-t-716136.html
Where's your dmesg output? The relevant bits should be somewhere near the top. Also, it may well be that this is just the PCI address space taking up about a gigabyte. Also, I don't see how Windows Vista has anything to do with this. I don't trust it to report actual total RAM acurately. Why don't you try an alternative Linux distro's memory reporting instead of comparing entirely dissimilar OSs?
I'll post the dmesg output tonight. I've a 32bit knoppix live CD which, I'm gonna try and see if that makes a difference and then download & run 64 bit version. Just wanted to say, that it's only windoz reporting 4GB memory as available but, also memtest and BIOS report 4GB ! If BIOS, memtest and windoz can see 4GB, I don't think it has to do with any memory hole or similar (I could be wrong as I'm not an expert in this issue) !
OK, I've attached the dmesg output. I googled a bit and came across similar instances where guys had problems with memory mapped systems. One of them used the "mem=" kernel parameters as a work around. I decided to try that and specified "mem=8GB" kernel parameter at boot time. Now, the physical memory recognized by linux is 309MB. There's still about 145 MB missing. But, definitely it is lot better than before. Can someone tell me where is that 145MB ? This is what free command displays now. /proc/meminfo consists this: MemTotal: 4045392 kB MemFree: 3380512 kB Buffers: 26660 kB Cached: 355056 kB SwapCached: 0 kB Active: 325516 kB Inactive: 252980 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 416 kB Writeback: 0 kB AnonPages: 196776 kB Mapped: 89056 kB Slab: 34008 kB SReclaimable: 22188 kB SUnreclaim: 11820 kB PageTables: 12768 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2022696 kB Committed_AS: 1183636 kB VmallocTotal: 34359738367 kB VmallocUsed: 312096 kB VmallocChunk: 34359425531 kB DirectMap4k: 58304 kB DirectMap2M: 4134912 kB /proc/mtrr consists this: reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg01: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg02: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg03: base=0xbff00000 (3071MB), size= 1MB: uncachable, count=1 Thanks for all the help.
Created attachment 177629 [details] Dmesg Output from dmesg
Bump ?!
The same also applies to me, I don't even see that "high memory support" when I am about to make menuconfig. Also: /usr/src/linux-2.6.28-gentoo-r5/arch/x86/Kconfig lines 839 and following choice prompt "High Memory Support" default HIGHMEM4G if !X86_NUMAQ default HIGHMEM64G if X86_NUMAQ depends on X86_32 so this 64 bit kernel won't have an option like that. I would appreciate a solution to this problem.
(Also I am not sure if this but isn't really upstream)
(as an additional addition, ubuntu jaunty (32bit) can see and use all my 4GB of mem, while gentoo-sources can only see 3GB of it)