MMAP issues

From: Peter Zaitsev (pz@spylog.ru)
Date: Tue Nov 27 2001 - 11:46:07 EST


Hello ,

  I'm trying to write a program which uses mmap agressively to mmap
  files (really it's used as fail safe memory allocator to store data
  if application failed)
  I'm using the latest kernel 2.4.16.

  I've found a couple of problems.

  1) I can mmap only about 64K files (4K size ones) and I can't find there the limit
  is triggered. I can open huge number of files (tried 500K) or I can
  map ammoniums pages even lager number. May be this limit is
  compiled in kernel somehow so may be changed ?
  The error code returned is 12 - Can not allocate memory

  2) I see the speed dramatically degrades over time with mapping
  segments:
zetta:/home/pz/mmap # ./a.out
 10000 Time: 7
 20000 Time: 22
 30000 Time: 38
 40000 Time: 61
 50000 Time: 78
 60000 Time: 90

 First 10000 of mmaps took only 7 second there mapping 10000 of
 files after 50000 took 90 seconds. I used the same file associated
 with many file descriptors to avoid disk related speed issues. Map
 ammoniums in the same case are runned much faster and with almost no
 speed penalty as well as open calls. So the question is if this
 thing may be tuned somehow - hash increase or something.

 3) It looks like the speed degrades over the program runs:

 1st
 10000 Time: 7
 20000 Time: 22
 30000 Time: 38
 40000 Time: 61
 50000 Time: 78
 60000 Time: 90

 2nd
 10000 Time: 7
 20000 Time: 28
 30000 Time: 49
 40000 Time: 71
 50000 Time: 92
 60000 Time: 104

 3rd
 10000 Time: 9
 20000 Time: 31
 30000 Time: 52
 40000 Time: 68
 50000 Time: 87
 60000 Time: 107

-- 
Best regards,
 Peter                          mailto:pz@spylog.ru

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Nov 30 2001 - 21:00:27 EST