Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с функцией malloc и памятью, linux 2.6.17
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
andron86
Кто-нибудь сталкивался с такой проблемой? В общем имею embedded linux 2.6.17 на арме(pxa255). При выделении динамической памяти функцией malloc системная память не уменьшается, то есть при вызове например free свободного пространства остается столько же сколько и до выделения. Но при выделении памяти и заполнением, к примеру дамми байтами, фрее показывает правильно. Это нормально, или глюк? Если нормально то скиньте пожалуйста ссылочку где это описано, а то заказчики достали sad.gif .
zltigo
Цитата(andron86 @ Jun 11 2008, 13:29) *
Если нормально то...

Это типа "нормально". Со временем, или когда припрет, дефрагментируется, мусор соберется.
andron86
Цитата(zltigo @ Jun 11 2008, 15:14) *
Это типа "нормально". Со временем, или когда припрет, дефрагментируется, мусор соберется.

а где это описано, мне бы на аглицком smile.gif
DRUID3
smile.gif При выделении динамической памяти в Linux инициализированной "0"-ями реального выделения НЕ происходит. Только при заполнении выделенной памяти значениями отличными от "0"-х (для любого типа данных) размер занимаемой приложением памяти будет изменяться...
Harbour
/proc/sys/vm/overcommit_memory

linux/Documentation/sysctl/vm.txt:

......
overcommit_memory:

This value contains a flag that enables memory overcommitment.

When this flag is 0, the kernel attempts to estimate the amount
of free memory left when userspace requests more memory.

When this flag is 1, the kernel pretends there is always enough
memory until it actually runs out.

When this flag is 2, the kernel uses a "never overcommit"
policy that attempts to prevent any overcommit of memory.

This feature can be very useful because there are a lot of
programs that malloc() huge amounts of memory "just-in-case"
and don't use much of it.

The default value is 0.

See Documentation/vm/overcommit-accounting and
security/commoncap.c::cap_vm_enough_memory() for more information.
........
andron86
Спасибо Harbour и DRUID3. beer.gif
to DRUID3: а где это описано? а то заказчики теорию выдвинули, что этого не может быть, вот я и пытаюсь с ними бороться smile.gif
DRUID3
Цитата(andron86 @ Jun 12 2008, 11:27) *
Спасибо Harbour и DRUID3. beer.gif
to DRUID3: а где это описано? а то заказчики теорию выдвинули, что этого не может быть, вот я и пытаюсь с ними бороться smile.gif

А заказчики хоть что-то вообще читают? Вот тут я это прочел...на русском... Да и вообще странно. Пусть поставят себе "мандриву" или "дэбиан" и напишут простейшее приложение...
andron86
Цитата(DRUID3 @ Jun 12 2008, 10:36) *
А заказчики хоть что-то вообще читают? Вот тут я это прочел...на русском... Да и вообще странно. Пусть поставят себе "мандриву" или "дэбиан" и напишут простейшее приложение...

в том то и дело по моему ни х...а не читают – они Австрийцы - это не в первой уже. Толкнул чёрт нас им линукс портировать, теперь отвязаться не можем. sad.gif
DRUID3
Цитата(andron86 @ Jun 12 2008, 12:34) *
в том то и дело по моему ни х...а не читают – они Австрийцы - это не в первой уже. Толкнул чёрт нас им линукс портировать, теперь отвязаться не можем. sad.gif

biggrin.gif ясно... ну то они вас(организацию) на понт берут - вдруг халтурите... Можете сослаться на ту книгу, что я привел. Она переводная, и наверняка есть и в их стране т.к. это - классика жанра... biggrin.gif
andron86
Цитата(DRUID3 @ Jun 12 2008, 11:47) *
biggrin.gif ясно... ну то они вас(организацию) на понт берут - вдруг халтурите... Можете сослаться на ту книгу, что я привел. Она переводная, и наверняка есть и в их стране т.к. это - классика жанра... biggrin.gif


спасибо, буду искать книгу на аглицком, или австрийском lol.gif

biggrin.gif ни фига себе понты, они уже эту систему как 2 года продают, только свои программы ни как до ума довести не могут. Они нам на sd карты предьявы кидали, когда типа ихниe программы туда ничего писать не могли, то есть в процессе как „read only“ становились - говорили что-то типа драйвера глючат.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.