LINUX.ORG.RU

память больше 4 гигов.


0

0

столкнулся с проблемой:

yafray, во время тонирования сложной сцены отожрал 4 гига, попытался отожрать ещё, из-за чего был прибит. В свопе места было ещё достаточно. Посмотрел sizeof (int *) - 4 байта. получается максимально адресуемая память - 4 гига. Видел в конфигураторе ядра параметр для поддержки больших объёмов памяти. Но ведь sizeof (int *) от перекомпиляции ядра не изменится? Что ещё нужно сделать, чтобы с большими объёмами памяти работать? (glibc пересобрать, ... ?)

В 32-битном режиме более 4GB на обин процесс ты не получишь. Так что либо ставь 64-битную систему на 64-битный процессор, либо облом.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

а что за параметр в ядре HIGH MEMORY SUPPORT (off, 4GB, 64GB)?

это в общем? а на процесс максимум 4GB? жаль. надо ковырять yafray чтобы не был столь прожорливым.

jackLucas
() автор топика
Ответ на: комментарий от no-dashi

Так в линуксе же свой менеджер памяти, какие могут быть ограничения, кроме как в нём7

Gordon01 ★★
()
Ответ на: комментарий от no-dashi

Это не совсем так. Есть еще расширения "окон" по 4 га на 64 га. HMT? PMA? Забыл как называется. Работает медленнее, чем нормальная адресация, и, кажется должна поддерживаться процессором, хотя я не уверен в этом. Ну на Xeon'e это работало точно. Именно для этого есть "поддержка до 64Га" в конфиге ядра и нечего ругать менеджер памяти, это все идет от костылей архитектуры.

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

Хотя, возможно я тоже гоню и с этими расширениями можно 2 процесса по 4Га держать, а 1 на 8 нельзя, хотя, оно специально для СУБД, так как работает по-любому быстрее чем диск... В общем - гуглим.

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

Дубина, ты шома:

If more than 4 Gigabytes is used then answer "64GB" here. This selection turns Intel PAE (Physical Address Extension) mode on.

Вот как оно называется.

PAE is fully supported by Linux, PAE mode is implemented on all recent Intel processors (Pentium Pro and better). NOTE: If you say "64GB" here, then the kernel will not boot on CPUs that don't support PAE!

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

спасибо. это интересно.

но в программе то sizeof(int *) или sizeof(size_t) всё равно 4 байта (насколько я понимаю, максимально адресуемая память 4 гига). программа при этом корректно будет работать? или ей всё равно больше 4 гигов не дадут?

jackLucas
() автор топика
Ответ на: комментарий от jackLucas

Не дадут. Точнее дадут не более 4 гигов на процесс.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.