Linux процесс деятельности - PullRequest
       17

Linux процесс деятельности

0 голосов
/ 10 октября 2011

Есть ли возможность показать, что происходит в указанном процессе в Linux?

Например, я запускаю SQL-запрос -> select evil_function (); иЗаметьте, что процесс под Linux использует все процессоры.

Так что я могу видеть что-то , что происходит в этом процессе ?

Что мне нужно, так это увидетьзапросы выполняются в рамках этого процесса.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

strace скажет вам, что системные вызовы делает процесс.

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

Вы можетехотите взглянуть на oprofile, valgrind, gprof и для начала на бесплатные инструменты - есть также коммерческие продукты.

Вот несколько ссылок:

http://www.pixelbeat.org/programming/profiling/

http://en.wikipedia.org/wiki/List_of_performance_analysis_tools

0 голосов
/ 10 октября 2011

Вы смешиваете целую кучу вещей.

Если вы говорите о MySQL, сделайте:

show processlist;

Чтобы получить конкретную информацию о процессах Linux, вы можете strace получить список системных функций, которые он вызывает. Если у вас нет опыта работы с Linux, это будет бесполезно для вас.

Если процесс приостановлен, вы можете узнать, на какой функции он остановлен, но это, вероятно, не то, что вам нужно, поскольку вы говорите, что процесс запущен.

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

И, наконец, вы можете использовать gdb, чтобы прорваться в процесс и пройти по нему, чтобы точно увидеть, что он делает. Это также, вероятно, будет бесполезно для вас, так как сервер SQL делает ОЧЕНЬ много вещей - этот метод далеко не все понимают.

...