<p>In the past, when I've worked on long-running C++ daemons I've had to deal with heap fragmentation issues.  Tricks like keeping a pool of my large allocations were necessary to keep from running out of contiguous heap space.  </p>

<p>Is this still an issue with a 64 bit address space?  Perf is not a concern for me, so I would prefer to simplify my code and not deal with things like buffer pools anymore.  Does anyone have any experience or stories about this issue?  I'm using Linux, but I imagine many of the same issues apply to Windows.  </p>

If your process genuinely needs gigabytes of virtual address space, then upgrading to 64-bit really does instantly remove the need for workarounds.
But it's worth working out how much memory you expect your process to be using. If it's only in the region of a gigabyte or less, there's no way even crazy fragmentation would make you run out of 32-bit address space - memory leaks might be the problem.
(Windows is more restrictive, by the way, since it reserves an impolite amount of address space in each process for the OS).