АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

memusage - Интернет в облаке

Запустите memusage в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда memusage, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


memusage - профиль использования памяти программой

СИНТАКСИС


воспоминание [вариант] ... программа [программа] ...

ОПИСАНИЕ


воспоминание это сценарий bash, который профилирует использование памяти программой, программа, Это
предварительно загружает libmemusage.so библиотеку в среду вызывающего абонента (через LD_PRELOAD
переменная окружения; видеть ld.so(8)). В libmemusage.so библиотека отслеживает выделение памяти
перехватив звонки на таНос(3) каллок(3) бесплатно(3), и перераспределить(3); опционально звонки
в ММАП(2) мремап(2), и мунмап(2) также может быть перехвачен.

воспоминание может выводить собранные данные в текстовой форме или использовать мемусагестат(1) (см.
домен -p вариант ниже), чтобы создать файл PNG, содержащий графическое представление
собранные данные.

Память пользования резюме
Строка «Сводка использования памяти» выводится воспоминание содержит три поля:

куча общий
Сумма размер аргументы всех таНос(3) вызовы, продукты аргументов
(нмемб*размер) из всех каллок(3) звонки и сумма аргументы всех ММАП(2)
звонки. На случай, если перераспределить(3) и мремап(2), если новый размер
выделение больше, чем предыдущий размер, сумма всех таких различий
(новый размер минус старый) добавлен.

куча пик
Максимум всего размер аргументы таНос(3), все продукты нмемб*размер of
каллок(3), все размер аргументы перераспределить(3) аргументы ММАП(2), и
новый_размер аргументы мремап(2).

стек пик
Перед первым вызовом любой отслеживаемой функции адрес указателя стека
(указатель базового стека) сохраняется. После каждого вызова функции фактический стек
считывается адрес указателя и отличается от указателя базового стека
вычислено. Тогда максимум этих различий является пиком суммирования.

Сразу после этой итоговой строки в таблице показаны номера вызовов, общий объем памяти.
выделено или освобождено, а также количество неудачных вызовов для каждой перехваченной функции. Для
перераспределить(3) и мремап(2) дополнительное поле "nomove" показывает перераспределения, которые изменили
адрес блока, а дополнительное поле «dec» показывает перераспределения, которые уменьшились
размер блока. Для перераспределить(3) дополнительное поле «бесплатно» показывает перераспределения
это вызвало освобождение блока (т. е. перераспределенный размер был равен 0).

"Перераспределение / общая память" таблицы, выводимой воспоминание не отражает случаи, когда
перераспределить(3) используется для перераспределения блока памяти, чтобы он имел меньший размер, чем раньше.
Это может привести к тому, что сумма всех ячеек "общей памяти" (за исключением "свободных") будет больше, чем
Ячейка "свободная / общая память".

Гистограмма для блок Размеры
"Гистограмма размеров блоков" дает разбивку распределения памяти на различные
размеры ковша.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


-n имя, --progname =имя
Имя файла программы для профиля.

-p файл, --png =файл
Сгенерируйте графику PNG и сохраните ее в файл.

-d файл, --data =файл
Создайте файл двоичных данных и сохраните его в файл.

-u, - без буферизации
Не буферизовать вывод.

-b размер, --buffer =размер
Собирать размер записи перед их записью.

- нет таймера
Отключить таймер (СИГПРОФ) выборка значения указателя стека.

-m, --mmap
Также проследить ММАП(2) мремап(2), и мунмап(2).

-?, --Помогите
Распечатать справку и выйти.

--использование
Распечатайте короткое сообщение об использовании и выйдите.

-V, --версия
Распечатать информацию о версии и выйти.

Следующие параметры применяются только при создании графического вывода:

-t, - по времени
Используйте время (а не количество вызовов функций) в качестве масштаба для оси X.

-T, --общий
Также нарисуйте график общего использования памяти.

--title =имя
Используйте имя как название графика.

-x размер, --x-размер =размер
Сделайте график размер пикселей в ширину.

-y размер, --y-size =размер
Сделайте график размер пикселей в высоту.

ВЫХОД статус


Статус выхода равен статусу выхода профилированной программы.

ПРИМЕР


Ниже приведена простая программа, которая перераспределяет блок памяти в циклах с максимальным увеличением.
перед этим циклическое перераспределение памяти на более мелкие блоки, которые возвращаются к нулю.
После компиляции программы и выполнения следующих команд график памяти
использование программы можно найти в файле мемуары.png:

$ воспоминание --data = memusage.dat ./a.out
...
Сводка по использованию памяти: всего кучи: 45200, пикового значения кучи: 6440, пикового значения стека: 224
всего вызовов общая память невыполненные вызовы
malloc | 1 400 0
realloc | 40 44800 0 (nomove: 40, dec: 19, free: 0)
каллок | 0 0 0
бесплатно | 1 440
Гистограмма для размеров блока:
192-207 1 2% ================
...
2192-2207 1 2% ================
2240–2255 2 4% ===================================
2832–2847 2 4% ===================================
3440–3455 2 4% ===================================
4032–4047 2 4% ===================================
4640–4655 2 4% ===================================
5232–5247 2 4% ===================================
5840–5855 2 4% ===================================
6432-6447 1 2% ================
$ мемусагестат memusage.dat мемуары.png

FitPartner™ источник
#включает в себя
#включают

#define ЦИКЛЫ 20

Int
main (int argc, char * argv [])
{
инт я, дж;
int * p;

printf ("malloc:% zd \ n", sizeof (int) * 100);
p = malloc (sizeof (int) * 100);

for (i = 0; i <CYCLES; i ++) {
если (i <ЦИКЛЫ / 2)
дж = я;
еще
ж--;

printf ("realloc:% zd \ n", sizeof (int) * (j * 50 + 110));
p = realloc (p, sizeof (int) * (j * 50 + 100));

printf ("realloc:% zd \ n", sizeof (int) * ((j + 1) * 150 + 110));
p = realloc (p, sizeof (int) * ((j + 1) * 150 + 110));
}

бесплатно (p);
выход (EXIT_SUCCESS);
}

Используйте memusage онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    VBA-M (Архивировано - сейчас на Github)
    VBA-M (Архивировано - сейчас на Github)
    Проект переехал в
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Особенности:Создание читовСохранить состояниямульти
    система, поддерживает gba, gbc, gb, sgb,
    sgb2Т...
    Скачать VBA-M (в архиве — сейчас на Github)
  • 2
    Stacer
    Stacer
    Оптимизатор системы Linux и мониторинг
    Репозиторий Github:
    https://github.com/oguzhaninan/Stacer.
    Аудитория: конечные пользователи / рабочий стол. Пользователь
    интерфейс: Qt. Программирование Ла...
    Скачать Стасер
  • 3
    ОранжевыйФокс
    ОранжевыйФокс
    Форк TeamWinRecoveryProject (TWRP)
    с множеством дополнительных функций, редизайн
    и другие особенности: поддерживает высокие частоты и
    не-Treble ROMsОбновленное ядро ​​​​Oreo,
    построен ...
    Скачать OrangeFox
  • 4
    itop — ITSM CMDB с открытым исходным кодом
    itop - ITSM CMDB с открытым исходным кодом
    Портал ИТ-операций: полностью открытый
    источник, ITIL, веб-сервис
    инструмент управления, включающий полностью
    настраиваемая CMDB, система службы поддержки и
    документальный человек...
    Скачать itop - ITSM CMDB OpenSource
  • 5
    Клементин
    Клементин
    Clementine — это мультиплатформенная музыка.
    проигрыватель и организатор библиотеки, вдохновленный
    Амарок 1.4. Обладает быстрым и
    удобный интерфейс и позволяет
    поиск и...
    Скачать Клементину
  • 6
    XISmuS
    XISmuS
    ВНИМАНИЕ: В накопительном обновлении 2.4.3 есть
    был выпущен !! Обновление работает для любых
    предыдущая версия 2.xx. Если обновление
    начиная с версии v1.xx, скачайте и
    Я ...
    Скачать XISmuS
  • Больше »

Команды Linux

Ad