Как отследить время процесса и использование диска этим конкретным процессом в Unix? - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь скомпилировать и запустить симуляции, используя оболочку tcsh в unix.Как я могу отследить время, когда компиляция началась и остановилась, и каково использование диска?

1 Ответ

0 голосов
/ 15 октября 2018

Используя time, вы можете отслеживать внутреннее время ЦП, затраченное на процесс.Вы также можете просмотреть, что top (или аналогичные инструменты, такие как ps) отображаются для вашего процесса.Обычно отображаются минуты процессора, потраченные на этот процесс.Вы также можете использовать date до и после процесса, возможно, с опцией +%s, чтобы показывать дату в секундах с 1970-01-01T00: 00: 00Z, чтобы обеспечить простую арифметику с ней (разница).Имейте в виду, что время ЦП может быть больше (используется более одного ЦП) или меньше (ЦП также работает над другими задачами), чем в режиме реального времени.Использование date всегда показывает реальное время.time попытается показать оба.

Использование диска, однако, является более сложным.По своей структуре файлы не предназначены для определенного процесса.Однако вы можете запустить df до и после процесса и сравнить два значения.Вы не можете быть уверены, что разница была создана процессом, но если вы выполните несколько прогонов, это может помочь.Также вы можете использовать du, чтобы узнать, какой объем хранилища используется в определенном пути .Это работает только в том случае, если вы знаете (или догадались), где процесс сохраняет результаты в файлах.В вашем случае это может быть лучшим способом, когда вы говорите о задании на компиляцию.

Вы также можете взглянуть на каталог /proc/<PID>/fd/, чтобы увидеть текущие дескрипторы открытых файлов запущенного процесса..

...