[linux] Alokacia > 3G pamate pre jeden proces na 32 bitovej architekture (linux memory limit)

Matus UHLAR - fantomas uhlar na fantomas.sk
Úterý Září 20 12:34:23 CEST 2005


On 20.09 11:48, Lubomir Host wrote:
> kamos narazil pri narocnych vedeckych vypoctoch na nasledujuci problem.
> Ma 32 bitovu architekturu a 4 GB RAM. Jednym procesom vsak vie alokovat
> maximalne 3GB RAM.
> 
> Pozeral som na http://www.spack.org/wiki/LinuxRamLimits a zopar dalsich
> zdrojov, ale vyzera to tak, ze delenie pamate v pomere 3:1 (3G
> userspace, 1G kernel) je natvrdo nahackovane v kerneli. Mam pravdu,
> alebo sa to da nejako upravit? Da sa nejakou konfiguraciou dosiahnut
> stav, ze *JEDNYM* procesom bude mozne naalokovat neobmedzene mnozstvo
> pamate (povedzme > 10 G).

nepomoze. 32-bit procesory architektury x86 maju iba 32-bitove registre pre
pracu s pamatou, viac ako 4GB adresovatelnej pamate sa riesi v podstate
rovnako, ako sa riesilo viac ako 64kbit na 16-bit architekture
(segmentovanim pamate). Teoreticky by sa to zrejme dalo riesit (mapovanim
pamate v style EMS), ale pochybujem ze sa to bude dakomu chciet
implementovat, skor ti povedia: upgradni si CPU.

> Pomoze mi nastavovanie parametrov jadra:
> 
> CONFIG_NOHIGHMEM
> CONFIG_HIGHMEM4G
> CONFIG_HIGHMEM64G
> CONFIG_HIGHMEM

nie, tieto sice umoznia procesoru adresovat viac ako 4GB pamate, nie vsak
jednotlivym procesom.

-- 
Matus UHLAR - fantomas, uhlar na fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. -- Benjamin Franklin, 1759




Další informace o konferenci linux