Я видел git status -s
появляется в top
каждые 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
У меня есть простое приложение node, которое подключается к 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
должен выдавать много информации, которая, вероятно, поможет вам вернуться назад.