It is very old post, but like to add answer to your question if that helps. Oracle document mentions following for sga_max_size
SGA_MAX_SIZE specifies the maximum size of the SGA for the lifetime of the instance.
On 64-bit platforms and non-Windows 32-bit platforms, when either MEMORY_TARGET or MEMORY_MAX_TARGET is specified, the default value of SGA_MAX_SIZE is set to the larger of the two parameters. This causes more address space to be reserved for expansion of the SGA.
On Windows 32-bit platforms, the default value of SGA_MAX_SIZE is the largest of the following values:60% of MEMORY_TARGET, if specified
60% of MEMORY_MAX_TARGET, if specified
25% of the total available virtual address space
Since you are running Linux (believe 32bit), it is defaulting to 60% of Memory_Target value.
On my HP-IA 64 bit system, I set MEMORY_TARGET=1G and MEMORY_MAX_TARGET=2G, but SGA_MAX_SIZE defaults to 2G which is larger of two parameters. This is correct as per oracle docs.
Thanks
Rao