Назад | Перейти на главную страницу

Видеть `git status -s` вверху каждые 30 секунд

Я видел 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

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