I know that there is an allocator for user applications than handles lots of small block allocation on HP-UX link text and on Windows XP Low-fragmentation Heap. On HP-UX it is possible to tune the allocator and on Windows XP it considers block of size less than 16 K as small.
My problem is that I can’t find any information about this kind of allocator for user programs running on Linux (RedHat Linux actually). If there is such an allocator I actually would like to find what maximum size of blocks it can handle.
Update
I have found jemalloc (http://www.canonware.com/jemalloc/). It handles small, large and huge blocks: http://www.canonware.com/download/jemalloc/jemalloc-latest/doc/jemalloc.html#size_classes.
Redhat Linux or any Linux based distributions mostly use DL-Malloc (http://gee.cs.oswego.edu/dl/html/malloc.html).
For user applications as Kirill pointed out, better to use separate memory allocators if fragmentation is more because of smaller blocks.
If the user application is small, you can try using C++ placement new/delete which can override the default allocator pattern. (http://en.wikipedia.org/wiki/Placement_syntax)