Титла: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: Naka в Mar 26, 2012, 13:53 Предползгам, че много са виждали това при малко по-старите машини: Компютър с сложена 4Gb рам да се открива само като 3Gb.
Никога не съм се замислял точно за причините. На какво се дължи това ограничение? На BIOS? на ограничение на 32-битовата архитектура? някакво ограничение при адресацията от архитектурата на процесорите Intel/AMD? Ако биоса изпише само 3GB, като бутне кърнела колко памет ще има? - 3 или 4? PS: Не ме бийте за толкова тъп въпрос. [_]3 Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: runtime в Mar 26, 2012, 14:29 Биос - Memory remap
Архитектура - адресация Ограничение при Ос - също. ( може да пуснеш PAE подръжка Physical Address Extension) Това на кратко. Чети в интернет ако те вълнува повече по темата. Там има доста изписано по този казус. http://en.wikipedia.org/wiki/3_GB_barrier Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: Naka в Mar 26, 2012, 19:05 Добре де PAE нали е за адресиране на повече от 4GB при 32-битови системи. Аз питам защо има дупка между 3 и 4GB?
Цитат http://en.wikipedia.org/wiki/3_GB_barrierПрочетох го но нищо не разбрах, освен че има 3_GB ограничение. Много неясно са го написали. Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: runtime в Mar 26, 2012, 20:09 Ами всъщност там доста ясно си е написано и отговора ти е в още в първото изречение. Ако на теб английския не ти е на ниво е друга бира - кажи ще преведем ако е нужно [_]3
Няма дупка точно м/у 3 и 4 и там си е обяснено. Сега съм на радиостанцията и нямам време да пиша. Ако някой не ти е превел / обяснил до утре ще го направя :) Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: vyrgozunqk в Mar 26, 2012, 20:24 Абе да речем, че софтуерното ПАЕ може да се ползва, само ако и процесора ти има PAE, точно затова тук има един колега, който е със селерон без пае и половината дистрибуции не му тръгват. Защото примерно кърнъла им е компилиран с пае поддръжка : )
П.С. Така де, без пае неможеш да видиш повече от 3ГБ или Memory контролера на дъното ти не го позволява... Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: Naka в Mar 26, 2012, 21:33 Ами всъщност там доста ясно си е написано и отговора ти е в още в първото изречение. Ако на теб английския не ти е на ниво е друга бира - кажи ще преведем ако е нужно [_]3 Ами айде давай да те видим какво ще обясниш, щото до сега нищо конкретно не си казал по темата. И стига тези глупости с английският. Да не говорим, че и на български може да се приказва неразбрано - много приказки и нищо. Единственото което разбирам за проблема е, че I/O-то на PCI се мапва в същият адресен диапазон 0-4Gb. 32 битовите процесори не могът да адресират също повече от 4Gb. За да се избегне този конфликт (PCI и РАМ на едно и също място), BIOS-а или забранява частта от паметта или пък рамапва тази част извън 4Gb адрес. Т.е. вече имаме дупка или загубена памет. Но ако все пак ни трябва тази ремапната памет (извън 4Gb диапазон, който може да адресира 32битова система) ни трябва PAE. PAE трябва да имат и процесора и ОС-а. Така ли е както го мисля? Възниква и друг въпрос. Нека под 32bit-ова система имаме процес който консумира 4GB памет. Заради горните проблеми, явно част от тази памет, заделена за процеса е достъпна само чрез PAE. Oзначава ли това, че такъв процес ще работи бавно и спънато? Колко ще е загубата в производителността? Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: laskov в Mar 26, 2012, 21:52 //извън темата:
Сега съм на радиостанцията ...??? Ти си радиолюбител ? amateur radio с позивна LZнещо_си ? Има ли някъде нещо, което да разказва за това, което правиш? Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: vyrgozunqk в Mar 26, 2012, 22:16 Има една голяма тема 32vs64 bits там ще намериш каквото те интересува... Наскоро го раззисквахме точно, каква е и колко е разликата. Зависи от ситуацията, като цяло и софтуера, но обикновено е малка разликата...
Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: gat3way в Mar 27, 2012, 09:12 Мисля, че е главно заради MMIO, вградени видеоадаптери, които ползват системна видеопамет и криви BIOS имплементации. Допълнително, 128 мегабайта винаги "хартисват" когато ползваш PAE. Също така си има ограничения, някои видове кеширана информация не може да се намира над 4-тия гигабайт.
Процесите не могат да адресират повече от 3 гигабайта с или без PAE на 32-битова система, не 4 гигабайта. Причината е че горният 1 гигабайт от адресното пространство е всъщност 1 гигабайт kernel-ска памет мап-ната в адресното пространство и защитена чрез сегментация. Тези 1 гигабайт памет не могат да се ползват от процеса. Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: runtime в Mar 27, 2012, 09:59 @laskov - ми намира се тук и там... ако искаш ще ти пусна един - два линка. Но на български почти няма литература за това хоби :)
32bit OS може да адресира 2^32bytes (4294967296bytes = 4194304Kb = 4096Mb) RAM. Загубите се получават от това, че OS резервира част от оперативната памет за комуникация с други устройства. RAM e един голям блок от регистри. За да се адресира даден регистър, процесора запаметява регистъра и казва на паметта да чете съдържанието на регистъра записан в дадения адрес. Регистрите в х86 OS са ограничени до 32 bit-а, съответно най-големият адрес, който може да се запише в регистъра е 2^32 байта (4294967296), което означава, че процесора има достъп до адрес с максимален номер = 4294967296, което е четвъртия GB памет. Проблема идва от там, че процесора също адресира I/O устройства (LPT, RS232, USB, PS2, монитор и др.) като по този начин заделя адрес и за тях. Близо 500MB се резервират за комуникация с тези устройства. Точна цифра не може да се каже. Индивидуално е за всяка конфигурация. И все пак в уикито е оябснено по-добре :) Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: Naka в Mar 27, 2012, 13:45 Да нещата се изясниха. Отивам за бира а за вас само виртуални бири!!! [_]3 [_]3 [_]3 [_]3
Процесите не могат да адресират повече от 3 гигабайта с или без PAE на 32-битова система, не 4 гигабайта. Причината е че горният 1 гигабайт от адресното пространство е всъщност 1 гигабайт kernel-ска памет мап-ната в адресното пространство и защитена чрез сегментация. Тези 1 гигабайт памет не могат да се ползват от процеса. Мерси, точно това живо ме интерсуваше. Имам един процес който яде страшно много памет. - много повече от 1ГБ. И ако наистина удари 3 гигабайта, ще трябва да го пускам на 64-битова система. :'( Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: runtime в Mar 27, 2012, 20:45 П.С. Следващият път не тръгвай с рогата на пред след като някой няма време в момента да ти обясни нещо, а ти дава линк към място в което може да намериш желаната информация! Все пак никой не е длъжен да ти обяснява на длъж и на шир в желано от теб време и място?!? Не го приемай като заяждане, а като съвет!
[_]3 [_]3 [_]3 Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: 4096bits в Mar 27, 2012, 20:52 Инсталирай си х64 система.
Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: runtime в Mar 27, 2012, 20:57 Ако има върху какво да я инсталира! Но, чисто от перспективна гледна точка - да по добре ще е.
P.S. Тоя процес да не да прави memory leak? Много нещо я хапва :) Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: borovaka в Mar 28, 2012, 00:33 @Naka Някое SQL сървърче ли ги лапа тези ресурси :) ? ... или някой "програмист" като мене дето много обича да прави 1000000 масива с още толкова под масиви и да ги обхожда на воля се е вихрил :)
Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: gat3way в Mar 28, 2012, 01:04 Хехе, на мен ми е много лесно да "изям" 1-2 гигабайта памет с hashkill-а. Достатъчно е да го пусна на машина примерно с 4 видеокарти и да си задели памет за всичките хост буфери които са по няколкостотин мегабайта на GPU, голяма забава настава :)
Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: borovaka в Mar 28, 2012, 01:47 //off
@gat3way Тези дни ще го тествам ... вече имам достъп до машинка с 2 ATI-та 7970 :) Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: gat3way в Mar 28, 2012, 02:25 Я...ах как не те е срам да къташ такава железария и да не казваш. Аз 7970 бях запланувал да си взема юни месец и още не съм оптимизирал нещата, поради липса на хардуер. Да се обадиш за бета версия, старата 0.2.4 най-вероятно не подържа 7xxx хардуер или и да го прави ще е зле :)
Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: Naka в Mar 28, 2012, 10:33 П.С. Следващият път не тръгвай с рогата на пред след като някой няма време в момента да ти обясни нещо, а ти дава линк към място в което може да намериш желаната информация! Все пак никой не е длъжен да ти обяснява на длъж и на шир в желано от теб време и място?!? Не го приемай като заяждане, а като съвет! Ми да. Приемам го като заяждане. Щото веднага чо изпрочетох линка дето го даде. След като се изясни картината с 3 GB -овото ограничение, на второ и трето четене на википедията текста вече изглежда смислен.... Обаче не е от вида дето ако не знаеш какъв е проблема веднага да се орентираш. Абе нещо подобно е да четеш някой man page на някой тоол и да се мъчиш да разбереш по man-а как работи и какъв е смисълът на програмата. Ама като я познаваш и като си работил, man-а става разбираем и много удобен. Процесът дето пускам яде страшно много памет. Вчера при 2GB РАМ направи и swap файл 1.7GB. - и едвам завърши. Прави Language model на Английският от огромен текстови корпус с големина 15 милиона реда. Проблемът е, че наистина нямам подходящ хардуер на който да го пусна. По груби сметки за нормална работа ми трябва машина с 32GB рам и поне 4 X 3Ghz процесор. Абе не е от най-евтините и обикновенните 64битови компютри. Титла: Re: На какво се дължи това че 4Gb рам да се открива като 3Gb? Публикувано от: vyrgozunqk в Mar 29, 2012, 14:13 @Naka Някое SQL сървърче ли ги лапа тези ресурси :) ? ... или някой "програмист" като мене дето много обича да прави 1000000 масива с още толкова под масиви и да ги обхожда на воля се е вихрил :) 100 тояги на гол гъз... :D |