Filesystem vs malloc space
Angelo Fraietta
angelo_f at internode.on.net
Tue Apr 26 20:26:36 UTC 2005
OK - thanks.
Joel Sherrill wrote:
> Thomas Doerfler wrote:
>
>> Angelo Fraietta schrieb:
>>
>> I think you missinterprete the functionality of
>> IMFS_memfile_maximum_size(): It does not return the amount of memory
>> left for file creation, but returns a constant, that defines the maximum
>> file size, that can be created using the IMFS, even if more memory would
>> be available. In normal configurations, the size of each file is limited
>> to 4MByte.
>
>
> That's the answer. :)
>
> The function exists because you can (at compile time) configure the
> block size used by the IMFS. If you pick a small block size, you
> get a smaller maximum file size. From cpukit/libfs/src/imfs/imfs.h
>
> /*
> * IMFS "memfile" information
> *
> * The data structure for the in-memory "memfiles" is based on
> classic UNIX.
> *
> * block_ptr is a pointer to a block of IMFS_MEMFILE_BYTES_PER_BLOCK in
> * length which could be data or a table of pointers to blocks.
> *
> * Setting IMFS_MEMFILE_BYTES_PER_BLOCK to different values has a
> significant
> * impact on the maximum file size supported as well as the amount of
> * memory wasted due to internal file fragmentation. The following
> * is a list of maximum file sizes based on various settings
> *
> * max_filesize with blocks of 16 is 1,328
> * max_filesize with blocks of 32 is 18,656
> * max_filesize with blocks of 64 is 279,488
> * max_filesize with blocks of 128 is 4,329,344
> * max_filesize with blocks of 256 is 68,173,568
> * max_filesize with blocks of 512 is 1,082,195,456
> */
>
>
>
>> wkr,
>> Thomas.
>>
>>
>>> Greetings all
>>>
>>> I have found that I am running out of malloc memory on my system
>>> By doing the following two calls, I can see how much memory I have
>>>
>>> printf ("\r\nFree Space %u", malloc_free_space());
>>> printf("\r\nMax Filesystem Size %u",
>>> IMFS_memfile_maximum_size());
>>>
>>> At first, I have approx 5527408 bytes of malloc memory and 4329344
>>> bytes
>>> of free filesystem space.
>>>
>>> After loading a heap of data, I end up with approx 207000 bytes of
>>> malloc memory left, buts still have the same amount of Filesystem space
>>> left (this is strange as I have just downloaded nearly 100K of files to
>>> my system). This 200K of malloc space that I have left is still not
>>> enough to dod what I still have to do
>>>
>>> How do I reduce the amount of filesystem space and increase the amount
>>> of space for malloc?
>>> Why didn't the Filesystem space show the difference; or is it that the
>>> call I made shows the total IMFS space- not the amount remaining.
>>>
>>> Thanks
>>>
>>
>>
>>
>
>
--
Angelo Fraietta
PO Box 859
Hamilton NSW 2303
Home Page
http://www.users.bigpond.com/angelo_f/
There are those who seek knowledge for the sake of knowledge - that is CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
Bernard of Clairvaux (1090 - 1153)
More information about the users
mailing list