Gperftools: Можно ли настроить временной интервал для создания выходных файлов в профилировщике кучи gperftools?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Gperftools: Можно ли настроить временной интервал для создания выходных файлов в профилировщике кучи gperftools?

Сообщение Anonymous »

Моя программа периодически испытывает скачки памяти:
  • Проблема скачка потребления памяти возникает один раз каждые 5–7 запусков.
  • Каждый запуск занимает несколько минут.
Я хотел бы использовать профилировщик кучи gperftools, чтобы проанализировать проблему прямо сейчас.
Gperftools генерирует слишком много выходных файлов, создавая почти каждую секунду автоматически. А моей программе нужно работать несколько минут, а это значит, что выходных файлов слишком много.
Есть ли способ настроить gperftools на создание файла каждые 10 секунд?
Я попробовал переменную окружения HEAP_PROFILE_ALLOCATION_INTERVAL и HEAP_PROFILE_TIME_INTERVAL, но она не работает. gperftools по-прежнему генерирует файл каждые менее секунды, но добавляет некоторые пометки к файлу, созданному «в заданное время». вот так:
Starting tracking the heap
...
Dumping heap profile to heap_profile.0006.heap (476 MB allocated cumulatively, 475 MB currently in use)
Dumping heap profile to heap_profile.0007.heap (5 sec since the last dump)
Dumping heap profile to heap_profile.0008.heap (653 MB allocated cumulatively, 651 MB currently in use)
...

вот мой код:
class MyClass {
public:
MyClass() {
data = new int[1000];
}
~MyClass() {
delete[] data;
}

private:
int* data;
};

int main() {
HeapProfilerStart("heap_profile");

std::vector objects;
for (int i = 0; i < 3; ++i) {
for (int i = 0; i < 100000; ++i) {
objects.push_back(new MyClass());
}
std::this_thread::sleep_for(std::chrono::seconds(2));
}

HeapProfilerStop();

std::cout

Подробнее здесь: https://stackoverflow.com/questions/792 ... eap-profil
Ответить

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

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

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

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

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