Как изменить lg_prof_interval во время выполнения?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как изменить lg_prof_interval во время выполнения?

Сообщение Anonymous »

Я пытаюсь использовать jemalloc для профилирования памяти.
Я запускаю свою программу с помощью

Код: Выделить всё

prof:true,prof_active:false
и я использую вызов mallctl, чтобы изменить prof.interval на 1 и установить prof.activate на true. И я ожидаю, что программа сможет продолжать выгружать файл *.heap. Однако файл кучи не сбрасывается.
После этого я перезапускаю свою программу со следующим кодом. И после запуска программы она будет использовать вызов mallctl, чтобы изменить prof.activate на true. На этот раз программа могла регулярно выгружать файл *.heap.

Код: Выделить всё

prof:true,prof_active:false,lg_prof_interval:18
Если я установлю lg_prof_interval в MALLOC_CONF, я не смогу контролировать скорость во время выполнения. Мне действительно хотелось бы изменить значение lg_prof_interval через mallctl во время выполнения, однако на данный момент мне это не удалось. Интересно, почему.
=== EDIT ===
Я отлаживаю вызов mallctl, кажется, он возвращает 1, с errno установлено значение «Ресурс временно недоступен».

Подробнее здесь: https://stackoverflow.com/questions/787 ... at-runtime
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»