지난 주 우리는 3.2.2 레일 레일 3.0.1에서 실행되었다 작은 프로젝트를 업그레이드했습니다. 거대한 메모리 누수/팽창은 레일 3.2 (루비 1.9.3 + 여객)
는 곧 업그레이드 후 우리는 가끔, 2 ~ 3 회, 우리는 seening하고 거대한 Phusion 여객 과정 (1-5 GB)의 인식.우리는 Phusion 여객 3.0.11과 루비 1.9.3-P0을 실행하고 있습니다. 우리는 이미 성공하지 못한 다른 Ruby 버전 (1.9.2-p290 및 1.9.3-p125)을 시도했습니다.
이후, 우리는 Oink 우리의 메모리 사용을 추적하기 위해 노력했다. 불행히도 Oink는 메모리가 부 풀리는 이유를 보여주지 않습니다 - 큰 프로세스는 로그 파일에 더 이상 쓰지 않는 것 같습니다. 우리는 레일 3.0.1로 다시 다운 그레이드 할 때
문제는 사라졌다. 비슷한 문제가있는 사람이 있습니까? 너무 많은 ActiveRecord 인스턴스와 같은 가능한 메모리 누수가 있는지 코드를 확인했지만 아무 것도 찾지 못했습니다.
승객 대신 유니콘을 시험해 보는 것이 가치 있다고 생각합니까? 아니면 같은 문제가 발생할 가능성이 있습니까?
메모리 누수를 추적하는 방법에 대한 제안은 언제나 환영합니다. 이미 newrelic을 설정했지만 메모리 누수에 대한 자세한 정보는 표시하지 않습니다.
승객을 유니콘 설정으로 바꿨으므로 시스템이 예상대로 작동합니다. 나는 일반 승객 문제이거나 승객/rvm (그리고 어쩌면 우리가 최근에 그것을 설치/업그레이드 한 방법)에 문제가 있는지는 알지 못합니다. –
유니콘 설정을 공유 하시겠습니까? 나는 똑같은 문제를 겪고 있는데, 메모리 오버 플로우를 막기 위해 매 6 시간마다 서버를 다시 시작해야합니다! –
늦게 답변 해 주셔서 감사합니다. 글쎄 ... 유니콘 설정을 공유하는 것은 여기에 의견을 게시하는 데 너무 많은 것입니다. 빠른 Google 검색이 도움이 될 것입니다. https://github.com/blog/517-unicorn에서 시작하십시오.기본적으로 그것은 업스트림 서버로 유니콘을 사용하는 nginx입니다. 유니콘 설정은 구성에서 단순한 unicorn.rb입니다. 여객에게서 전환하는 데 아마 한 시간이 걸렸습니다. 또 다른 하나는 우리의 Capistrano 설정에 유니콘 배치 항목을 추가하는 것입니다. –