memleax отлаживает и находит утечки памяти без перезагрузки сервиса или процесса и без перекомпилляции.

URL: https://github.com/WuBingzheng/memleax

Читать далее...

inarray-allocator

Библиотека в составе которой расположены исходники альтернативного аллокатора памяти в пределах ранее созданного массива.

Читать далее...

rr - так называемый replay debugger для записи хода исполнения программы, http://rr-project.org

Читать далее...

Это обычный модуль Apache 2.x для Linux:

  • модуль предназначен для сбора и накопления статистики по использованию ресурсов(CPU и memory, время выполнения скрипта и пр.) веб-сервером Apache 2.4/2.2/2.0;

  • модуль позволяет производить анализ собранных данных. Он позволяет отслеживать за тем, сколько ресурсов потребляет поступивший веб-серверу запрос. Каждый раз сохраняя следующую информацию:

  • виртуальный хост, которому поступил запрос;

  • файл, который запрашивается;

  • URI запроса;

  • CPU нагрузка в %;

  • использование памяти в %;

  • время обработки запроса.

А накопившуюся статистику — позволяет анализировать. В качестве базы данных для сохранения и анализа используется SQLite (MySQL, PostgreSQL, error_log). Модуль позволяет отслеживать как абсолютно все запросы, так и конкретные, отфильтрованные по правилу с помощью регулярных выражений. Точнее будет сказано, что модуль ВСЕГДА обрабатывает только те запросы, которые соответствуют фильтру, содержащему регулярное выражение

Читать далее...

Задача: сделать на Си связный отсортированный список с ограниченным размером или хэш-таблицу, необходимо, что весь список занимал не более N байт в куче (стек не считается).

Реализация

Возможные варианты: 1) сделать счетчик сколько выделено и освобождено и при достижении значения не выделять больше, т.е написать враппер для malloc, calloc, realloc; 2) выделить массив нужного размера и все операции по размещению элементов делать в этом массиве, проверяя границы; 3) поискать готовое решение по реализации хэш, массивов или списков на ограниченном участке памяти.

Первый вариант неплох, второй неудобен и требует много кода и отладки, поробуем тертий.

Есть библиотека inarray-allocator(http://docs.putey.net/ru/inarrayalloc), которая позволит реализовать такой функционал.

Читать далее...