Jump to content

    

проблема с функцией malloc и памятью, linux 2.6.17

Кто-нибудь сталкивался с такой проблемой? В общем имею embedded linux 2.6.17 на арме(pxa255). При выделении динамической памяти функцией malloc системная память не уменьшается, то есть при вызове например free свободного пространства остается столько же сколько и до выделения. Но при выделении памяти и заполнением, к примеру дамми байтами, фрее показывает правильно. Это нормально, или глюк? Если нормально то скиньте пожалуйста ссылочку где это описано, а то заказчики достали :( .

Share this post


Link to post
Share on other sites
Если нормально то...

Это типа "нормально". Со временем, или когда припрет, дефрагментируется, мусор соберется.

Share this post


Link to post
Share on other sites
Это типа "нормально". Со временем, или когда припрет, дефрагментируется, мусор соберется.

а где это описано, мне бы на аглицком :)

Share this post


Link to post
Share on other sites

:) При выделении динамической памяти в Linux инициализированной "0"-ями реального выделения НЕ происходит. Только при заполнении выделенной памяти значениями отличными от "0"-х (для любого типа данных) размер занимаемой приложением памяти будет изменяться...

Share this post


Link to post
Share on other sites

/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.

........

Share this post


Link to post
Share on other sites

Спасибо Harbour и DRUID3. :beer:

to DRUID3: а где это описано? а то заказчики теорию выдвинули, что этого не может быть, вот я и пытаюсь с ними бороться :)

Share this post


Link to post
Share on other sites
Спасибо Harbour и DRUID3. :beer:

to DRUID3: а где это описано? а то заказчики теорию выдвинули, что этого не может быть, вот я и пытаюсь с ними бороться :)

А заказчики хоть что-то вообще читают? Вот тут я это прочел...на русском... Да и вообще странно. Пусть поставят себе "мандриву" или "дэбиан" и напишут простейшее приложение...

Share this post


Link to post
Share on other sites
А заказчики хоть что-то вообще читают? Вот тут я это прочел...на русском... Да и вообще странно. Пусть поставят себе "мандриву" или "дэбиан" и напишут простейшее приложение...

в том то и дело по моему ни х...а не читают – они Австрийцы - это не в первой уже. Толкнул чёрт нас им линукс портировать, теперь отвязаться не можем. :(

Share this post


Link to post
Share on other sites
в том то и дело по моему ни х...а не читают – они Австрийцы - это не в первой уже. Толкнул чёрт нас им линукс портировать, теперь отвязаться не можем. :(

:biggrin: ясно... ну то они вас(организацию) на понт берут - вдруг халтурите... Можете сослаться на ту книгу, что я привел. Она переводная, и наверняка есть и в их стране т.к. это - классика жанра... :biggrin:

Share this post


Link to post
Share on other sites
:biggrin: ясно... ну то они вас(организацию) на понт берут - вдруг халтурите... Можете сослаться на ту книгу, что я привел. Она переводная, и наверняка есть и в их стране т.к. это - классика жанра... :biggrin:

 

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

 

:biggrin: ни фига себе понты, они уже эту систему как 2 года продают, только свои программы ни как до ума довести не могут. Они нам на sd карты предьявы кидали, когда типа ихниe программы туда ничего писать не могли, то есть в процессе как „read only“ становились - говорили что-то типа драйвера глючат.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this