티스토리 뷰

사용 가능한 512의 모든 마지막 메가 바이트에 대한 노드 액세스 권한을 부여했지만 여전히 충분하지 않은 경우 다음 두 가지 방법이 있습니다.

  1. 프로그램의 메모리 요구 사항을 줄이십시오. 이것은 가능할 수도 있고 불가능할 수도 있습니다. 이에 대한 도움이 필요하면 기능 및 메모리 사용량을 자세히 설명하는 다른 질문을 게시해야합니다.

  2. 서버에 더 많은 메모리를 확보하십시오. 512mb특히 메모리 내 스토리지가 필요한 다른 서비스 (예 : 데이터베이스 또는 메시지 큐)를 실행하는 경우에는 그다지 많지 않습니다.

swap공간 (메모리 백업 역할을하는 디스크 스토리지)을 사용할 수있는 세 번째 가능성 이 있지만 이는 성능에 큰 영향을 미칩니다. 그래도 원하는 경우 Google에서 운영 체제에이를 설정하는 방법에 대한 많은 기사가 있습니다. 이것은 노드가 아닌 OS 구성입니다.

-------------------

오래된 질문이지만이 답변이 사람들에게 도움이 될 수 있습니다. --max-old-space-size를 사용하는 것은 쓸모가 없습니다.

Nodejs 12 이전 버전에는 OS (32 또는 64 비트)에 따라 힙 메모리 크기가 있습니다. 따라서 64 비트 컴퓨터에서 (이전 세대 만) 512MB에서 멀리 떨어진 1400MB의 설명서를 참조하십시오.

Nodejs12에서 힙 크기는 시스템 RAM을 처리합니다. 그러나 Nodejs의 힙은 특히 서버가 전용이 아닌 경우 메모리에서 유일한 것은 아닙니다. 따라서 이전 메모리 힙에 대한 제한을 갖도록 --max-old-space-size 허용을 설정하고 응용 프로그램이 가까워지면 가비지 수집기가 트리거되고 메모리를 해제하려고 시도합니다.

나는 이것을 어떻게 관찰했는지에 대한 글을 썼다 : https://loadteststories.com/nodejs-kubernetes-an-oom-serial-killer-story/



출처
https://stackoverflow.com/questions/39914890
댓글
공지사항
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31