내 응용 프로그램 서버에서 문제가 발생했습니다. 로드 밸런서에 두 개의 노드가 있다고 가정합니다.pm2의 문제 - 응답하지 않습니다.
갑자기 그 중 하나의 노드가 건강에 좋지 않게됩니다.
해당 인스턴스에 로그인했을 때. 오후 2시에 통나무가 들어오지 않았습니다. 그런 다음 CPU가 매우 높았는지 확인합니다.
이 문제를 어떻게 해결할 수 있습니까? 아니면 그것을 디버깅하는 방법.
내 응용 프로그램 서버에서 문제가 발생했습니다. 로드 밸런서에 두 개의 노드가 있다고 가정합니다.pm2의 문제 - 응답하지 않습니다.
갑자기 그 중 하나의 노드가 건강에 좋지 않게됩니다.
해당 인스턴스에 로그인했을 때. 오후 2시에 통나무가 들어오지 않았습니다. 그런 다음 CPU가 매우 높았는지 확인합니다.
이 문제를 어떻게 해결할 수 있습니까? 아니면 그것을 디버깅하는 방법.
flame graphs을 확인하여 노드 앱이 CPU와 연결된 곳을 확인하십시오.
는 또한 new debugging system in Node 6.3 (--inspect
가) Chrome DevTools의 모든 기능과 디버깅하는 데 사용할 수 있습니다.
PM2는 max-memory-restart
옵션을 통해 이러한 런 어웨이 문제에 대해 제한적인 보호를받습니다. 일반적으로 높은 CPU는 높은 메모리 사용량과 관련이 있으며이 옵션을 사용하면 많은 양의 메모리를 사용하기 시작할 때 앱을 다시 시작할 수 있습니다.이 경우 적절한 순간 일 수도 있고 그렇지 않을 수도 있지만 도움이됩니다.
--max-memory-restart <memory> specify max memory amount used to autorestart (in octet or use syntax like 100M)