Определите использование ресурсов процесса: процессор, память и ввод / вывод - PullRequest
0 голосов
/ 14 сентября 2018
  1. Мне нужно запросить некоторые ресурсы AWS, и для этого мне нужно определить, для чего нужны мои требования:

    • Количество ядер ЦП (возможно, также и графических процессоров) (выполняет параллельную обработку)
    • Объем требуемой памяти
    • Время ввода / вывода и чтения / записи в сети (необязательно / полезно знать)

Как я могу профилировать свой скрипт, чтобы я знал, использую ли я запрошенные ресурсы в полной мере?

  1. Как я могу профилировать всю систему? Что-то вроде следующего:

    я. Запрос большого количества вычислительных ресурсов (процессоров и оперативной памяти) на AWS

    II. Запустите системный профайлер

    III. Запустите мою программу и дождитесь ее завершения

    IV. Остановите системный профилировщик и определите пиковые значения #CPU и используемого ОЗУ

Контекст: Unix / Linux

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете использовать time (1) , но есть два варианта.

  • встроенного в большинство оболочек time обычно недостаточно для ваших нужд, поэтому ...

  • вам нужна программа /usr/bin/time из пакета time

Тогда ты побежишь /usr/bin/time -v yourscript

и внутри вашего скрипта вы можете использовать times встроенный (см. this )

Вам также следует рассмотреть возможность использования perf (1) и oprofile (1)

Наконец, вы можете в конечном итоге что-то кодировать или использовать что-то, запрашивающее ядро ​​через /proc/ (см. proc (5) ). Утилиты типа xosview используют это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...