Когда я запускаю свою программу с помощью ld_preload = libjemalloc.so malloc_conf = thp: всегда ./my_program из Bash, он успешно использует THP. Я могу сказать, что, поскольку программа представляет собой программу тестирования стресс -тестирования страниц, и производительность чрезвычайно бимодальна в зависимости от того, включен ли THP для нее. Однако, когда я запускаю его от Руби, например, с System ("ld_preload = libjemalloc.so ...") , THP не работает. Я подтвердил, что Джемаллок правильно звонит Мэдвису во всех случаях, поэтому кажется, что некоторая основная проблема не позволяет THP работать здесь. Я также попробовал нерестовать программу с помощью Process.spawn и open3.popen3 , и все еще не повезло. Кто -нибудь знает, что здесь может произойти? Я использую Linux RHEL 7.9 с процессором x86-64 Intel.
Подробнее здесь: https://stackoverflow.com/questions/795 ... ithin-ruby