[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory leaks



Which version of the MiNT kernel did you try this with? I've been using
1.12.xx for a long time, and this kind of leak has never occurred. (Yah,
been too lazy to catch up to the 1.14.xx releases...)
  -- Howard

  History
  I have been running a multi-user system based on the Micro-RTX Kernel
  since 1981. I have written a test program that dumps all system 
  information regarding all processes. This includes program locations in
  memory,"data, bss, and text size" lists memory control blocks with size
  of each chunk, and much more. I compile programs to allocate the same
  magic figure for memory alloction, 256000 bytes. The idea was when a 
  program was unloaded, a new program would be loaded into the same 
  segment for memory which I had just released. This is not the case, as 
  the micro rtx kernal always seemed to leave 64 byes still allocated to
  something.

  Since I am converting to the mint opertating system, I was curious how
  memory allocation compared. I find that there is 448 bytes lost each 
  time I load and unload a program in a multiuser environment. This leads
  to fragmentation of memory. A small test of loading and unloading the 
  same program from the same terminal 3 times resulted in going from 9
  free blocks of memory to 13 free blocks, with a loss of 1344 bytes
  available, 448 per iteration.

  Why is all the memory not released. I release memory via gemdos(76)Pterm
  which is documented as releasing all memory control blocks. Am I missing
  something. I have been trying to build a clean, orderly system, where
  processes can be allocated memory, without fragmenting the memory every
  time programs are changed. As my system runs for 12 hours per day and 
  processes inventory reciepts, invoicing, A/R, ordering, programs are
  changed quite frequently.
  Is this a pipe dream, or is it a problem.

  Any sugestions would be appreciated.
  Brent