LINUX.ORG.RU

Как определить время выполнения,среднее знач%cpu,пик знач %cpu %mem определенного процесса


0

1

Здравствуйте!Помогите написать скрипт на bash для тестирования.Есть команда openssl dgst -sha512 filename(процесс) после выполнения которой мне надо знать: 1 Время работы команды(процесса) в данном случае хеширования файла. 2 Общая средняя загруженность процессора во время хеширования 3 Средняя загруженность процессора именно этим процессом 4 Максимальная загруженность процессора именно этим процессором и общая 5 Максимальная и средняя загруженность памяти Мое видение выполнения этой задачи такое: #! /bin/bash vr=$(\time -f %E openssl dgst -sha512 file2.txt |awk '{print $3}' filename) pid=$(ps -C openssl -o pid=) дальше незнаю как правильно реализовать условие в цикле while [нужный нам процесс работает;или переменная пуста] do sleep 1 res=$(ps -eo pid,etime,pcpu,pmem |grep $pid |awk '{print $2,$3,$4}') echo -e $res>>file2.txt здесь каждую секунду в файл записывается время,%cpu,%mem

done после завершения процесса нужно будет найти сред и макс значения %cpu,%mem echo «Vremya heshirovaniya:$vr» exit 0 Или это все будет грузить процессор?Может мне просто нужно обойтись парсингом ps,top,time,etc?Если да то как? Подскажите пожалуйста...

Ответ на: комментарий от zolden

Я просто не знаю какие именно значения выдает \time -f %p усредненные или максимальные? Да и как с помощью time вывести %mem?

apaxucok
() автор топика
Ответ на: комментарий от anonymous

Спс,но думаю,что эти сторонние инструменты мне не подходят... как сделать while[работает процесс]?

apaxucok
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.