[Решено] Пропала память

По-видимому после установки Gentoo (раньше стояла Мандрива) вместо 4х Гб памяти видно только 881Мб

#free
             total       used       free     shared    buffers     cached
Mem:        902968     893728       9240          0      21728     699720
-/+ buffers/cache:     172280     730688
Swap:      2669564          0    2669564

Вот дмесг:

Linux version 2.6.39-gentoo-r3 (root@livecd) (gcc version 4.4.5 (Gentoo 4.4.5 p1.3, pie-0.4.5) ) #1 SMP Sat Aug 27 00:36:23 MSD 2011
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009ac00 (usable)
 BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000d2000 - 00000000000d4000 (reserved)
 BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000cff60000 (usable)
 BIOS-e820: 00000000cff60000 - 00000000cff69000 (ACPI data)
 BIOS-e820: 00000000cff69000 - 00000000cff80000 (ACPI NVS)
 BIOS-e820: 00000000cff80000 - 00000000d0000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
 BIOS-e820: 0000000100000000 - 0000000130000000 (usable)
Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
DMI present.
DMI: Supermicro X7DBU/X7DBU, BIOS 6.00 12/03/2007
e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
last_pfn = 0xcff60 max_arch_pfn = 0x100000
MTRR default type: uncachable
MTRR fixed ranges enabled:
  00000-9FFFF write-back
  A0000-BFFFF uncachable
  C0000-CFFFF write-protect
  D0000-E3FFF uncachable
  E4000-FFFFF write-protect
MTRR variable ranges enabled:
  0 base 0D0000000 mask FF0000000 uncachable
  1 base 0E0000000 mask FE0000000 uncachable
  2 base 000000000 mask F00000000 write-back
  3 base 100000000 mask FE0000000 write-back
  4 base 120000000 mask FF0000000 write-back
  5 base 0CFF80000 mask FFFF80000 uncachable
  6 disabled
  7 disabled
e820 update range: 00000000cff80000 - 0000000100000000 (usable) ==> (reserved)
Warning only 895MB will be used.
Use a HIGHMEM enabled kernel.
found SMP MP-table at [c00f5f50] f5f50
initial memory mapped : 0 - 01800000
Base memory trampoline at [c0099000] 99000 size 4096
# uname -a
Linux wanderer 2.6.39-gentoo-r3 #1 SMP Sat Aug 27 00:36:23 MSD 2011 i686 Intel(R) Xeon(R) CPU E5335 @ 2.00GHz GenuineIntel GNU/Linux

Биос не менялся, просто был заменен диск в массиве (старый с Мандривой умер) и переустановлена система. Ядро собиралось genkernel-ом. Помогите вернуть обратно память плз!

Временно отбой, порылся в

Временно отбой, порылся в параметрах, с которыми было собрано ядро, там нету (понятия не имею почему) HIGHMEMORY. Сейчас исправил это (genkernel --menuconfig all), собираю новое ядро.

Пока рылся в менюконфиге, нашел параметр семейства процессора, там выставлено 486, что-то мне подсказывает, что мой Зеон все таки 586. Где бы почитать подробнее, что именно надо тут указывать?

http://en.gentoo-wiki.com/wik

http://en.gentoo-wiki.com/wiki/Safe_Cflags

А вообще-то Гугл и др. никто еще не запретил... :)

Поясните пожалуйста, как

Поясните пожалуйста, как CFLAGS связаны с параметрами семейства процессора в menuconfig-е ядра? У меня получается в ядре 486, в в CFLAGS 686

В /etc/make.conf у меня следующее:

CFLAGS="-O2 -march=i686 -pipe"

Теоретически и то и другое

Теоретически и то и другое должно соответствовать вашему процу.
А так... И там и там пишете, что хотите ) Чем сильнее обманете, тем вам же хуже )

Не так

Дело в том, что я как раз таки там где пишу - сначала думаю. И make.conf я писал по хэндбуку, а вот ядро я, повторюсь, собирал genkernel-ом, так же по хэндбуку, где было английским по белому написано, что генкернел соберет ядро избыточно, но под вашу систему, которую он оттестировал. Вот что-то у меня теперь сомнения на тему этого автотестирования.

Нет, в генкернеле нет ИИ. Он

Нет, в генкернеле нет ИИ. Он берет указанный конфиг и делает заданные операции.
если я правильно помню genkernel all берет текущий конфиг, собирает с ним ядро и кладет в /boot
никакого автотестирования нету, максимум включит опции для initrd и т.п.

Пичаль

Там было сказано, что livecd вроде как определяет тип оборудования. Ну да ладно. Почитал данную вами ссылку, определил, что для моего типа процессора и версии GCC нужно следующее:

CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"

Соответственно возник вопрос, чем грозит смена CFLAGS? Не хотелось бы получить ситуацию, когда все библиотеки надо будет пересобирать с учетом новых флагов.

Мой проц:

$ x86info
CPU Model: Core 2 Quad (Kentsfield) 
Processor name string: Intel(R) Xeon(R) CPU           E5335  @ 2.00GHz

GCC:

$ equery list 'gcc'
[IP-] [  ] sys-devel/gcc-4.4.5:4.4

Кстати говоря поменял в настройках ядра семейство процессора на "Core2/newer Xeon", включил PAE и HIGHMEM64, теперь собираю ядро. Если не стартанет придется ехать на площадку :(

всё стартанёт ничего

всё стартанёт
ничего пересобирать не надо ( работать будет, но если перфекционист...)

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

Йазь!

Спасибо за помощь и моральную поддержку, оно действительно стартануло

$ free
             total       used       free     shared    buffers     cached
Mem:       4150252      52664    4097588          0       3568      14940
-/+ buffers/cache:      34156    4116096
Swap:      2669564          0    2669564

Эксперементировать с флагами компилятора буду уже потом.

(*)

После того, как пересоберётесь, перезагрузитесь со свежим ядром, ждём от вас dmesg | grep Memory

Ну ядро я на сервере не стал

Ну ядро я на сервере не стал менять, может потом попрошу подсоединить квм и тогда грейдну до 3ки, просто пересобрал текущее ядро. По части памяти стало чуть получше:

# dmesg | grep -i memory
initial memory mapped : 0 - 01800000
Base memory trampoline at [c0099000] 99000 size 4096
init_memory_mapping: 0000000000000000-00000000377fe000
Memory: 3370396k/3407232k available (3375k kernel code, 36364k reserved, 1323k data, 404k init, 2497928k highmem)
virtual kernel memory layout:
Freeing initrd memory: 3300k freed
Freeing unused kernel memory: 404k freed
# free
             total       used       free     shared    buffers     cached
Mem:       3374100    3258284     115816          0     141492    2905328
-/+ buffers/cache:     211464    3162636
Swap:      2669564          0    2669564

Кстати говоря, все равно часть памяти сжирается (630Mb). На своей домашней машине у меня ядро 3ей версии и есть опция 64GB, в то время как на сервере такой опции не было. Это из-за старой версии ядра? Стоит ли эксперементировать с обновлением ядра и включением 64Gb, т.к. на работе у меня с этой опцией генту не стартовала (правда, там биос не видит больше 4х).

Да, у меня тоже без включения

Да, у меня тоже без включения поддержки до 64Гб не видело 4Гб, а без поддержки до 4Гб не видело 2Гб.

версия ядра тут идёт

версия ядра тут идёт лесом
просто ты не включил PAE

[ megabaks@desktop ] ~ $ free -m
             total       used       free     shared    buffers     cached
Mem:          8115       3311       4803          0        173       2357
-/+ buffers/cache:        779       7335
Swap:            0          0          0
[ megabaks@desktop ] ~ $ uname -m
i686
[ megabaks@desktop ] ~ $

Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".