Почему Gentoo видит не всю оперативную память? [SOLVED]

Собственно вопрос, почему gentoo из 4Gb оперативной памяти видит только 3,6? Биосом я вижу 3.8 Гб, остальное отрезано под видеокарту интегрированную. Собсна, где еще 200 метров оперативки?

Архитектура: amd64
Ядро: 2.6.36-gentoo-r6
Мать: asus m4a785td-v evo
Оперативка: 2x2Gb NCP

P.S.:Виндоус видит 3.2 Гб, но с ним вес понятно, он x86...

.

Если биос видит 3.8Гб то лучше наверное капать в сторону биоса или самих планок

.

Было уже - http://www.gentoo.ru/node/21230
Подсказка - dmesg | grep Memory
Всего - Отсутствующей = Доступной + Зарезервированной!

а эта строка - это просто подпись

Спасибо, почитал. Только

Спасибо, почитал.
Только непонятно подо что резервируется память? Не могли бы отправить в док, описывающий это или популярног объяснить на пальцах? Интеренсо знать откуда ноги растут. При планке на 2 гига, было отрезано от нее 256 метров под дискретную видеокарту и отображалось системой 1.7 Гб, а тут при увеличении памяти отъедается сразу 200 метров?
Напоминает ситуацию с резервом 5% дискового пространства под ext...

В готовности к облому - наша сила! (с)

Ну может это для начала, а

Ну может это для начала, а вообще-то Гугл (и иже с ним) еще не запрещен вроде...

cat /proc/mtrr иногда, в

cat /proc/mtrr
иногда, в зависимости от общего количества оперативы, для встроенной видяшки операционка выделает разное количество оперативы... у меня на нетбуке, например, при встроенном гиге оперативы, отъедало 128 метров на видяшку... с расширением оперативы до трех гигов отъедать стало 256 ;) еще важно правильно округлять числа, ведь 1КБ != 1000Б, а 1КБ = 1024Б ;) 1МБ = 1024 КБ = 1048576Б ... таким образом если ты расширил оперативу до 4 ГБ (4194304КБ), то видяшка вполне могла отъесть 512МБ(524288КБ), 4194304КБ - 524288КБ = 3670016КБ, что при неправильном округлении дает приведенные тобой 3,6 гига ;) на самом деле их 3,5 ;) 3670016КБ / 1024 = 3584МБ / 1024 = 3,5ГБ...

вот такая двоичная арифметика ;)

P.S. к стати, так считать правильно, но производители не всегда считают так... например, жесткие диски считаются производителем так: 1КБ = 1000Б, 1МБ = 1000КБ, поэтому когда биос и ОС начинают считать правильно, реального пространства на диске оказывается меньше :( вроде, даже прецедент был, когда америкос подал в суд на WD за то, что ОС показывала объем ЖД меньше, чем это было на этикетке... после разбирательства выяснилось, что производители ЖД используют десятичную систему приставок (Кило, Мега, Гига и т.д.) вместо двоичных... суд постановил выплатить иск в полном размере, а с того момента были введены двоичные приставки образованные от 2^10=1024... поэтому в линуксах чаще можно увидеть приставки КиБ(КибиБайт), МиБ(МибиБайт), ГиБ(ГибиБайт)...

почитай это ;)

Спасибо, но я в первом посте

Спасибо, но я в первом посте писал, сколько я отрезаю под видеокарту. Про килобайты и кибибайты я тоже в курсе. И Оперативная память считается в кибибайтах.
To SysA: и вам спасибо, буду почитать на досуге.

В готовности к облому - наша сила! (с)

SysA, у ТС система - amd64

Ваша ссылка, не совсем по теме, так сказать.

тада, она про x86

тада, она про x86 пархитектуру, насколько я понял из изложенного в ней по англицки?
и вес-таки почему так происходит с памятью?

В готовности к облому - наша сила! (с)

ты cat /proc/mtrr покажешь

ты cat /proc/mtrr покажешь наконец ?!?!?
если не веришь, что дело в видеокарте, то отключи ее в биосе, поставь внешнюю и посмотри на количество! в биосе очень редко бывает возможность менять кол-во оперативы для видяшки и только на nvidia...

Извините, но вы бредите. В

Извините, но вы бредите. В ноутах может и не часто встречается, но на стационарной машине,я еще не видел ни разу, чтобы нельзя было принудительно обрезать размер оперативной памяти для интегрированной видяхи. ожет только на самых древних. (Хотя у меня на i815 чипсете тоже можно задать занчение до 32 метров, вроде как от 4...)

cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 256MB, count=1: write-back

Биос мне четко показывает, что после отрезания 256 метров под видеокарту, он видит 3.8 с копейками.
Куда она девается, мы выше тоже разобралдись, под резервирование. Меня на данный момент интересует что ее резервирует и почему так происходит.

В готовности к облому - наша сила! (с)

брежу тут не я ;) я на

брежу тут не я ;) я на работе пережил 5 машинок со встроенными видяхами... 2 с nvidia, на которых оператива настраивалась, и 3 ATI, на которых такой опции не было... разницы между ноутбуками и десктопами вообще никакой - как производитель за тебя решит, так и будет ;)

резервирование... впервые о такой хрени слышу... у меня ничего не резервируется ни на одной машине... как было 8 гигов так и видется... да и 768 метров никому не понадобится!

попробуй поискать в биосе параметр типа memory remapping... возможно из-за него такая штуковина ;)

+1

Theli написал(а):
попробуй поискать в биосе параметр типа memory remapping... возможно из-за него такая штуковина ;)

.
Это вполне может спасти "отца русской демократии" от жесточайшей депресии и попыток суицида :D (Шучу)
А если честно: парни, пора бы завязвыать, ибо хватит, ИМХО, - [SOLVED] на дворе.

При отключении опции Memory

При отключении опции Memory Hole Remapping система стала видеть 2.9 Гб. Что за хрень?!
dmesg | grep Memory
[ 0.000000] Memory: 3084644k/3144256k available (5259k kernel code, 452k absent, 59160k reserved, 6235k data, 2068k init)
Ну тут вес понятно, ребутнувшись, увидел, что и биос видит лишь часть памяти в таком случае,а именно 3.3 Гб, минус 256 мб под видео, и получается 2.9 с копейками...
При включении ее обратно БИОС пишет:
всяпамять: 4096Мб
Используемая: 3839Мб
Разница, как раз и есть 256 Мб под видяху...
dmesg | grep Memory
[ 0.000000] Memory: 3727276k/4718592k available (5259k kernel code, 788356k absent, 202960k reserved, 6235k data, 2068k init)
Может кто-нибудь объяснить что вот это такое:
202960k reserved = искомым 198 Мб...
Может что-тов ядре н7адо включить?..
Пора бы снять [Решено] и переименовать тему в "Как Linux работает с оперативной памятью?"...

В готовности к облому - наша сила! (с)

Я, например, не уловил в чём

Я, например, не уловил в чём было [решение].

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Решение было, куда делось 200

Решение было, куда делось 200 метров оперативы. Оно подо что-то резервируется.
dmesg | grep Memory показывает всю память. В первом линке, на уже обсуждаемую проблему, как бы частично расписано что и куда.
Но там все на этом успокаиваются и начинают обсуждать почему ноут у человека ребутится...
А "Решено" все же сниму с темы. Подождем какого-нить гуру местного, но можно и не местного.
Вообще проблема в инете обсуждается, но как-то отрывочно или мне просто знания английского для понятия сути не хватает... хз.

P.S.: Вот, насколько я понимаю, ответ на мой вопрос:
http://markelov.blogspot.com/2009/01/linux-procmeminfo.html
А именно: MemTotal - Доступный объем оперативной памяти. Часть физически доступной памяти резервируется во время запуска системы ядром и не входит в указанный здесь объем:
А как бы теперь ему снизить это % резервируемой памяти? Видимо надо почитать рекомендуемую там же книгу: "Ядро Linux." 3-е издание, Даниель Бовет, Марко Чезати, БХВ-Петербург, 2007 Или что-то поновее... Всем спасибо, понял в какую сторону копать.

В готовности к облому - наша сила! (с)

BolotinMS написал(а): А как

BolotinMS написал(а):
А как бы теперь ему снизить это % резервируемой памяти?

а зачем?!

а) потому что ему это не

а) потому что ему это не нужно. Зачем режут 5% отведенных руту на HDD?
б) теперь уже чисто спортивный интерес нафига это и как оно работает :)

В готовности к облому - наша сила! (с)

BolotinMS написал(а): а)

BolotinMS написал(а):
а) потому что ему это не нужно. Зачем режут 5% отведенных руту на HDD?

я думаю, что ты также не знаешь, зачем тебе добрая половина органов, но ты ведь себе не отрезаешь ничего, явно полагая, что зачем-то они все-таки нужны? )) может лучше сначала узнать, зачем они нужны, а уж потом заключать надо/не надо? ;)

переведено, видимо, промптом, но если подумать, то все более-менее понятно;)

BolotinMS написал(а):
Зачем режут 5% отведенных руту на HDD?

Black Shadow написал(а):
По умолчанию 5% пространства резервируется под пользователя root. Нужно для того, чтобы юзер не занял всё свободное место, вызвав тем самым отказ системы.

BolotinMS написал(а): а)

BolotinMS написал(а):
а) потому что ему это не нужно. Зачем режут 5% отведенных руту на HDD?

это только в ext2/3/4 как защита от переполнения диска пользователями.

Ребята,я знаю зачем режут 5%

Ребята,я знаю зачем режут 5% на HDD, но на террабайтном винчестере это приводит к неиспользованию места больше, чем занимает ВСЯ! система, т.е. такая опция уже неактуальна в данных условиях, и является "пережитком старины", со времен, я даже не знаю каких по объему винчестеров... 1.5 Гб, судя по минимальным требованиям в генту хендбук :)

Про настройку видеокарт почитал, но ввиду того, что там не примеры а общая теория, хз видит ли система эти зарезервированные 64, но никак не 198 метров оперативки.

В готовности к облому - наша сила! (с)

BolotinMS написал(а): такая

BolotinMS написал(а):
такая опция уже неактуальна в данных условиях, и является "пережитком старины"

1. как и сама файловая система, на которой эти 5% резервируются ;)
2. величина резерва настраивается с помощью tune2fs ;)

Блин... ну хватит играть в

Блин... ну хватит играть в "Самый умный" И про tune2fs я знаю, и об отсутствии актуальности ext4 можно тоже поспорить.
Лучше наколупайте маны по оперативке.

В готовности к облому - наша сила! (с)

.

Итак, тема плавно перетекла в "Как Linux работает с оперативной памятью",
а точнее - ТС интересует, "что ее[память] резервирует и почему так происходит."
Отбросив общий ход дискуссии, обращаю взгляд на фразу "Лучше наколупайте маны по оперативке."
И сразу хочется сказать - Уважаемый ТС, обратите внимание на http://linuxmen.ru и
на http://linuxmen.ru/node/80 в частности (там даже упомянут многострадальный printk(KERN_INFO "Memory: ...\n",)
и найдите там слова reserved. Если этого вам покажется мало, просто ЧИТАЙТЕ ИСХОДНЫЕ КОДЫ ЯДРА,
отталкиваясь от mem_init() вширь и вглубь, гуглите, гуглите, и прекратите выносить нам мозг :)

С наступившим 2011 годом вас :)

а эта строка - это просто подпись

прекратите выносить нам мозг

прекратите выносить нам мозг :)

IMHO, без знания __железной__ части, в часности, спецификации шины PCI, это немного глупое занятие
Для всех рекомендую серию книг М.Гук по устройству писишного железа, в частности про устройство памяти в x86 и способах работы с железом :)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Моя большая благодарность

Моя большая благодарность участникам конференции: n0nado и slepnoga
Бум вдумчиво почитать инфу предосталвенную вами, точнее ссылки на нее :)

В готовности к облому - наша сила! (с)

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

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