Regarding the maximum memory allocated by malloc() function on HP-UX B11.11

In a 'C' program,when I am trying to allocate memory with the help of malloc () function, it is allocating the memory up to a certain limit for e.g. in my case, it is 670 MB (approx). malloc() returns NULL if I allocate more than this amount of memory.When I tried
to allocate memory in chunks of 200MB, it failed when I exceed 670 MB.While I have sufficient amount of memory available (78 GB).

Actually I am getting CDRs from mediation for each subscriber and I have to allocate memory for each subscriber. There is a routine written inside the code where there is a structure containing Customer's id, contract id, cell number, Activation Date and Deactivation Date in memory. So to avoid this issue, I hardcoded the value of one member of the structure.But this is not a permanent solution. So please help me to figure out how to increase the amount of memory allocated by malloc().Your valuable feedback appreciated.
os is 64 bit.
getconf KERNEL_BITS ==>> 64

Your user probably has limits set for the maximum memory usage. Check this by running

ulimit -a

The entry "memory" has the top limit (in KB) that you may use in a single program. Ask your system administrator to increase that.