Возможные причины непрерывного роста в std::list<SSD_Components::NVM_Transaction*> и пустых записей в профилировщике памC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Возможные причины непрерывного роста в std::list<SSD_Components::NVM_Transaction*> и пустых записей в профилировщике пам

Сообщение Anonymous »

При запуске программы в Visual Studio я заметил, что использование памяти было чрезмерно высоким (более 40 ГБ). Затем я использовал профилировщик памяти Visual Studio, чтобы изучить проблему.
После создания снимков памяти через два интервала я заметил, что две записи std::list и void продолжают расти. Различия как в объеме памяти, так и в количестве между снимками самые большие, и они продолжают увеличиваться, что необычно, поскольку эти записи не должны расти бесконечно.
Изображение

Вот соответствующий код для класса User_Request, который содержит Член Transaction_list, содержащий указатели на объекты NVM_Transaction. Этот список связан с растущими записями в профилировщике памяти для std::list.

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

class User_Request
{
public:
User_Request();
~User_Request();

IO_Flow_Priority_Class::Priority Priority_class;
io_request_id_type ID;
uint64_t ID_num;
LHA_type Start_LBA;

sim_time_type STAT_InitiationTime;
sim_time_type STAT_ResponseTime;

std::list Transaction_list;

unsigned int Sectors_serviced_from_cache;

unsigned int Size_in_byte;
unsigned int SizeInSectors;
UserRequestType Type;
stream_id_type Stream_id;
bool ToBeIgnored;
void* IO_command_info;
void* Data;

private:
static unsigned int lastId;
};
Я проверил возможные утечки памяти, но проблем не обнаружил. Каковы еще возможные причины постоянного роста использования памяти?
Будем очень признательны за любые идеи и предложения!

Подробнее здесь: https://stackoverflow.com/questions/793 ... transactio
Ответить

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

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

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

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

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