The following are some FAQs that will help us to learn more about malloc(3):
- FAQ 1 : How much memory can malloc(3) allocate with a single call?
A rather pointless question in practical terms, but one that is often asked!
The parameter to malloc(3) is an integer value of the size_t data type, so, logically, the maximum number we can pass as a parameter to malloc(3) is the maximum value a size_t can take on the platform. Practically speaking, on a 64-bit Linux, size_t will be 8 bytes, which of course, in bits is 8*8 = 64. Therefore, the maximum amount of memory that can be allocated in a single malloc(3) call is 2^64!
So, how much is it? Let's be empirical (it's important to read in Chapter 19, Troubleshooting and Best ...