Имеется проблема.
Запущено несколько процессов php-cgi. Случается, что они блокируются на файле сессии Если в этом время strace'ом посмотреть, что в них происходит, то можно попытаться выловить проблему (одну проблему, кстати так и выловили).
Но вот из-за того, что проблема случается редко но метко, когда у меня нет доступа к компу, я хочу скажем раз в минуту запускать strace и логи складывать в файл. PID'ы процессов я выясню. Но если запустить strace -p PID, то выход происходит только по Ctrl+C Можно ли strace сказать, чтобы он трейсил только секунд 10 и выходил?
L>Но вот из-за того, что проблема случается редко но метко, когда у меня нет доступа к компу, я хочу скажем раз в минуту запускать strace и логи складывать в файл. PID'ы процессов я выясню. Но если запустить strace -p PID, то выход происходит только по Ctrl+C Можно ли strace сказать, чтобы он трейсил только секунд 10 и выходил?
Здравствуйте, Labutin, Вы писали:
L>Запущено несколько процессов php-cgi. Случается, что они блокируются на файле сессии Если в этом время strace'ом посмотреть, что в них происходит, то можно попытаться выловить проблему (одну проблему, кстати так и выловили).
А какую проблему выловили, если не секрет? У нас тоже такое бывает "редко, но метко", тоже только до этого дошли, один хочет пересоздать файл, другой не отпускает.
W>А какую проблему выловили, если не секрет? У нас тоже такое бывает "редко, но метко", тоже только до этого дошли, один хочет пересоздать файл, другой не отпускает.
Проблема была в том, что mssql_query не выходил при превышении timeout'а запроса.
L>>и все — больше ничего не выводит L>>Хотя в top процесс 12985 отъедает 33% процессорного времени!
D>так это нормально -- процесс запросто может в цикле крутиться и не делать системных вызовов
а, понял вопрос.. Типа если бы он крутился в цикле, то было бы 100%, а так всего лишь 33%
Здравствуйте, Labutin, Вы писали:
L>Новая проблема с strace :( L>[root@hp-php logs]# strace -p 12985 L>Process 12985 attached — interrupt to quit
L>и все — больше ничего не выводит :( L>Хотя в top процесс 12985 отъедает 33% процессорного времени!
Процессор часом не трёхядерный?
L>Может какие-нибудь восшебные :) ключили нужно для strace указать?
Лучше под профилировщиком запустить, пусть считает места выполнения.