«LD_PRELOAD = / usr / lib64 / libtcmalloc.so» указывает загрузчику использовать libtcmalloc.so перед любой другой общей библиотекой при разрешении символов, внешних по отношению к вашей программе, и поскольку libtcmalloc.so определяет символ с именем «malloc», это это версия, которую будет использовать ваша программа.
Если вы пропустите строку LD_PRELOAD, glibc.so (или любая другая библиотека C, имеющаяся в вашей системе) будет первой общей библиотекой, которая определит символ с именем «malloc».
Также обратите внимание, что если вы ссылаетесь на статическую библиотеку, которая определяет символ с именем «malloc» (и использует правильные аргументы и т. Д.), Или загружается другая общая библиотека, которая определяет символ с именем «malloc», ваша программа попытается используйте эту версию malloc.
Так или иначе, это общая идея; фактические события довольно интересны, и мне придется указать вам http://en.wikipedia.org/wiki/Dynamic_linker в качестве отправной точки для получения дополнительной информации.