Allocating 8GB memory to MySQL on a 64bit system
memlock was the issue.
turns out, memlock settings were at default (see above), and this might have been preventing the allocation of 4+gb of memory to mysql.

changed memlock settings in '/etc/security/limits.conf', and limit to 8GB.
then, allocated 7GB to mysql buffer pool. worked. mysql now starts and stops without throwing any errors in the log.

a few things to note here - 


from what i have read online, the amount of memory allocated to
mysql is slightly more than the setting for buffer pool. so lets say
you assign 7GB to pool, actual memory assigned to mysql would be
closer to 8gb (this is an example, not real numbers).
turning the mysql service on/off has to be done very carefully. i
    have noticed that when i do a mysqld-start followed by quickly by a
    mysqld-stop, mysql responds with [FAILED]. logs says allocation of
    7GB failed.