LINUX.ORG.RU

malloc

ulimit -s unlimited
ulimit -d unlimited
ulimit -m unlimited
сделал.

Artem-Dnepr ()
Ответ на: malloc от const86

malloc

-mcmodel=large или medium не хочет.

Artem-Dnepr ()
Ответ на: malloc от Boy_from_Jungle

Re: malloc

Памяти дофига. Да и какая разница сколько памяти, если я хочу выделить виртуальную, которую я могу сколько угодно выделить. Вот когда я захочу туда записать что-то вот тогда тормоза и начнуться.

Я точно помню, что год назад я мог выделять сколько угодно.

Artem-Dnepr ()
Ответ на: malloc от kto_tama

malloc

> вроде как есть ограничение - не более 2 гигов на процесс

Где есть? Как безобразие отключить?

Artem-Dnepr ()
Ответ на: malloc от kto_tama

malloc

В x86_64 есть. Профит очевиден: 780k+ страниц vs 1k5.

mv ★★★★★ ()
Ответ на: malloc от Artem-Dnepr

malloc

> Проц - I7 так что ММУ там уж точно есть.

Если твоей программе столько памяти нужно, предусмотри поддержку hugetlbfs. Реально быстрей ворочаться будет. Читать Documentation/vm/hugetlbpage.txt

mv ★★★★★ ()
Ответ на: malloc от kto_tama

malloc

нет такого ограничения

Reset ★★★★★ ()

malloc

как выделяешь? система точно x86_64?

вот такое у меня работает

#include <stdio.h>
#include <stdlib.h>

int main()
{
        char * p = malloc(4L * 1073741824L);
        getchar();
}

Reset ★★★★★ ()
Ответ на: malloc от mv

malloc

Идиотский совет. Вначале надо разобраться почему оно вообще не работает, а потом, если приспичит, заниматься оптимизацией.

Reset ★★★★★ ()
Ответ на: malloc от mv

malloc


Мммм... А как тогда, допустим, тот же mysqld кушает у меня под 16Gb с гаком без всяких hugetlbfs :-?

bibi ()
Ответ на: malloc от Reset

Re: malloc

> Идиотский совет. Вначале надо разобраться почему оно вообще не работает, а потом, если приспичит, заниматься оптимизацией.

Спасибо, КО. malloc(3G) тоже очень умно.

mv ★★★★★ ()
Ответ на: malloc от bibi

malloc

> Мммм... А как тогда, допустим, тот же mysqld кушает у меня под 16Gb с гаком без всяких hugetlbfs :-?

Потому что я не говорил, что для работы с дофига памяти НУЖЕН hugetlb.

mv ★★★★★ ()
Ответ на: malloc от Reset

malloc

>вот такое у меня работает
А как оно может не работать? А проверить значение указателя не пробовали?

ratatosk ()
Ответ на: malloc от mv

malloc

hugetlb не хочется использовать, потому что хочется в разумных пределах сохранить портабельность.

Artem-Dnepr ()
Ответ на: malloc от ratatosk

malloc

#include <stdio.h>
#include <stdlib.h>

int main()
{
        char * p = malloc (4L * 1073741824L);
        printf("%p\n", p);
        getchar();
}
$ ./a.out
0x7f29894d3010

$ ps axvm | grep a.out
15974 pts/1    -      0:00      0     1 4197998 448  0.0 ./a.out
Reset ★★★★★ ()
Ответ на: malloc от Artem-Dnepr

malloc

Думаю надо выяснить как собрано ядро.

Reset ★★★★★ ()
Ответ на: malloc от Artem-Dnepr

malloc

а еще глянуть настройки vm в /proc

Reset ★★★★★ ()

malloc

если ядро 3/1 G, то куда же может malloc смапить 3G, если кроме кучи есть код, стек, библиотеки итд ? нет свободных адресов на 3G

gavv ()
Ответ на: malloc от Artem-Dnepr

malloc

Можно настроить vm так, чтобы выделение всё равно происходило, даже если физической памяти нет. Но в этом случае, если ты займешь всю физическую память, случится страшный песец и придется жать на reset :)

Reset ★★★★★ ()
Ответ на: malloc от Reset

malloc

ах, 64

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