/ / SSH i -bash: fork: Nie można przydzielić pamięci Ubuntu, szyn, Passenger, redis, sidekiq - ruby-on-rails, linux, nginx, swap, bad-gateway

SSH i -bash: fork: Nie można przydzielić pamięci Ubuntu, szyn, Pasażera, redis, sidekiq - ruby-on-rails, linux, nginx, swap, bad-gateway

Mam uruchomioną aplikację rails (serwer dev) z pasażerem w Amazon AWS z instancją t2.micro. -bash: fork: Cannot allocate memory błąd stale.

Uruchomiłem serwer redis z 50 sidekiqkonkurencja. Zwykle strony działają dobrze, ale gdy zaczynam 2-3 proces sidekiq jednocześnie, wykonaj pewien proces wsadowy. Witryna zajmuje trochę czasu, aby przekierować i ostatecznie awarii z

502 Bad Gateway
nginx/1.10.0

Następnie muszę ponownie uruchomić Nginx każdy, aby uzyskaćstrona działa ponownie. To jest mój serwer dev, więc nie chcę wkładać więcej środków finansowych na upgrade do t2.small (od tej chwili jest to nasza ostatnia opcja), ponieważ jest to serwer dev i będzie używane dwa razy w ciągu 15 dni. sposób mogę rozwiązać to inaczej? Poprzednio miałem taką samą 120 współbieżność jak produkcja, ale potem zmieniłem na 50. To pomaga trochę, ale nadal problemy z pamięcią.

Oto kilka statystyk z htop

wprowadź opis obrazu tutaj

Te statystyki są podczas bezczynności serwera. Ale gdy wykonuję kilka zadań z sidekiq, to ​​zawiesza się z 502.

Sprawdzam kilka stanowisko sugeruje wymianę pamięci, ale nie jest to pewnelepiej z t2.micro. Jest to wskazane dla tej konfiguracji serwera. Tutaj na zdjęciu widać, że nie zamieniam pamięci. Czy to jest w porządku, dodaj pamięć wymiany, aby rozwiązać ten problem, albo jest jakakolwiek inna lepsza opcja.

Odpowiedzi:

3 dla odpowiedzi № 1

Twój serwer ma brak pamięci, aby go naprawić:

Następnie spróbuj ponownie