2011-02-10 2 views
1

레일 3에 webrick이 있고 sqlite3 데이터베이스가 실행됩니다. 내 표준 리눅스 데스크톱에서 Word.all (Word는 내 모델)을하고 있지만 데이터베이스에 10,000 개의 항목이 있더라도 아무런 문제가 없습니다. 나는 한 번에 2000 개씩 표시 할 수있는 범위를 가지고 있으므로 다루기가 쉽습니다.레일즈 3, 일부 컴퓨터에서 Errno :: ENOMEM : Model.all을 수행 할 때 공간이 충분하지 않습니다.

내 Windows 7 노트북에서는 매우 다른 이야기입니다. 한 번에 약 400 단어 만 가져올 수 있습니다. 또는 "공간 부족"오류가 발생합니다.

윈도우의 작업 관리자를 열어도 메모리가 겨우 떨림 수 있습니다. 콘솔에서 명령은 거의 즉시 반환됩니다 (포기하기 전에 분명히 수백 개의 항목을 처리하지 않았습니다).

여기에 무슨 일이 일어나고 있습니까? 내 노트북이 내 바탕 화면보다 정확히 나쁘지는 않습니다. 그래서 나는 실제로 어떤 RAM 한계를 맞추고 있다고 생각하지 않습니다 ... 이상한 Ruby 문제가 있습니까?

EDIT : 서버 문제 만이 아닙니다. 둘 중 하나는 레일 콘솔에서도 똑같은 것을 볼 수 있습니다 ... 그렇다면 webrick은 문제가되지 않을 수도 있습니다 ...

코드라면 플랫폼 전체에서 볼 수 있습니다. 그냥 내 노트북에 ... 그럼에도 불구하고 입력하는 모든 단어가 Word.all (사용자 지정 코드 없음)이고 데이터베이스가 명확하게 설정되어있는 경우에도 내 코드가 될 수 있습니다 (개별 항목을 가져 오는 데 문제가 없습니다. , 한 번에 너무 많지 않음)

-jenny

+0

루비의 버전은 무엇입니까? – zetetic

+0

데스크톱에서 1.9.2, 가능하면 노트북에서 1.9.2 (하지만 1.8.7, 나중에 확인해야 함) – Jenny

+0

혹시이 문제의 최하층에 도달 했습니까? – DaveStephens

답변

0

webrick은 개발을 위해서만 작동하는 매우 간단한 웹 응용 프로그램 서버입니다.
Windows OS에서는이 기능을 전혀 경험하지 못했지만 어쨌든 테스트 제한 상황에서는 많은 문제가 발생합니다. 문제가 지속되면 코드에 무언가가 남아있는 경우 mongrel 보석을 사용해 볼 수 있습니다.

+0

죄송합니다. 콘솔에서도 이러한 현상이 발생하고 있음을 분명히 잊어 버렸으므로 webrick은 실제로 문제가 아닙니다. – Jenny

관련 문제