Я видел git status -s
, появляющийся в вверху
каждые 30 секунд и не могу понять, что вызывает эту команду. Он показывает 20% –60% ЦП (на загруженном производственном Linode объемом 24 ГБ под управлением Debian 8.1), поэтому я бы хотел, чтобы этого не происходило.
Есть мысли о том, как отследить источник этого? У меня нет cronjobs, которые вызывают git, ни то, что работает так часто.
8332 myusername 20 0 177936 5564 4940 R 17.9 0.0 0:00.54 git status -s
... 30sec later
8395 myusername 20 0 177936 5616 4992 R 21.6 0.0 0:00.65 git status -s
... 30sec later
8444 myusername 20 0 177936 5508 4880 R 23.2 0.0 0:00.70 git status -s
... etc
Я предполагаю, что есть способ отслеживать выполнение команды и собирать информацию о ней для отслеживания источника. PID изменяется при каждом вызове, так что это не длительный процесс, и он присутствует только на секунду или две, что затрудняет копание глубже.
Любая помощь приветствуется!
ОБНОВЛЕНИЕ: Оказывается, это как-то связано с pm2, см .: https://github.com/Unitech/PM2/issues/924
У меня есть простое приложение узла, которое подключается к redis и socket.io и передает пользователям уведомления в реальном времени.
] Мое приложение не показывает никаких перезапусков в pm2 monit
, и я обновил все модули узлов и pm2 до последней версии, и я все еще вижу, что git status -s
показывает вверх каждые 30 секунд.
Здесь вы должны получить помощь от подсистемы аудита.Добавьте правило, которое срабатывает при выполнении / bin / git (или где-то там, где находится ваш git)
auditctl -w /bin/git -p x -k git_was_run
-w file to watch
-p what to watch for
-k a key to log
, затем вы можете использовать ausearch для поиска соответствующих записей в журнале
ausearch -k git_was_run
должно выдавать много результатов, которые, вероятно, помогут вам вернуться к отслеживанию.