apt-get source <whatever package SElinux is in>
Получит Вас текущий источник для версии SElinux, который Вы используете.
Я думаю time -f %M
только работы в недавних ядрах Linux (экспериментально, это не поддерживается в 2.6.26/amd64, и это поддерживается в 2.6.32/i386).
Более ранний поток при Переполнении стека не поднялся очень.
Без поддержки ядра, контролируя использование памяти довольно твердо. Существует несколько способов сделать это:
LD_PRELOAD
небольшая библиотека это перегружается mmap
, sbrk
и другие выделяющие память системные вызовы (принимающий Вас не выполняют статических двоичных файлов).ptrace
процессы действительно следят за выделением памяти и разветвлением./proc/
(работы для единственного процесса только, и Вы не знаете то, что происходит между мерами).Этими путями все требуют некоторого программирования; я не знаю о существующем инструменте.
Команда PS может использоваться для измерения объема памяти, который использует каждый процесс.
%MEM показывает процент физической памяти, что процесс использует. В то время как не всегда полное изображение это может определить процессы, которые ответственны за системную подкачку страниц и свопинг.
SZ показывает приблизительный виртуальный размер процесса.
RSS является размером Резидентного набора и является фактическим объемом памяти, который использовал процесс, когда PS был выполнен.
Проверьте свою страницу PS человека на опции для списка деревьев процесса.
Я рекомендую использовать https://github.com/gsauthof/cgmemtime .
cgmemtime измеряет интенсивное использование памяти RSS + CACHE процессом и его дочерние процессы.
Для этого он помещает процесс в свою собственную cgroup.
Например, процесс A выделяет 10 MiB и разветвляет дочерний процесс B, который выделяет 20 МиБ и разветвляет дочерний элемент C, который выделяет 30 МиБ. Все три процесса разделяют временное окно, в котором их распределение приводит к соответствующее использование памяти RSS (размер резидентного набора).
Теперь вопрос: сколько памяти фактически используется в результате работает A?
Ответ: 60 МБ
cgmemtime - это инструмент для ответа на такие вопросы.