Internal fragmentation is memory that is allocated to a process but not used (for data or code).
This may occur if memory is allocated in minimum units such as multiples of 4K bytes. A program that requries 150K + 1 bytes would be allocated 154K bytes. Of this 4095 bytes (4k - 1 bytes) would be internal fragmentation.
Internal fragmentation represents some inefficiency in the use of memory.