모든 명령에 대해 "bash: 포크: 메모리를 할당할 수 없습니다" - OS 수준에서 이를 방지하는 방법은 무엇입니까?

모든 명령에 대해 "bash: 포크: 메모리를 할당할 수 없습니다" - OS 수준에서 이를 방지하는 방법은 무엇입니까?

저는 Ubuntu 16.04 시스템이 낮은 메모리 조건을 어떻게 처리하는지 테스트 중이었고 서버의 거의 모든 RAM을 사용하는 여러 가지 작업이 일시 중단되었습니다. 어젯밤 퇴근할 때에도 여전히 일반적인 bash 명령을 실행할 수 있었습니다. 아침에(아무도 서버에 아무 작업도 하지 않은 상태에서) 모든 명령( ps, free, ls등)에서 다음 오류가 발생했습니다.

-bash: fork: Cannot allocate memory

jobs나는 결국 기계를 실행 하고 kill %1복구할 수 있었습니다 . 추가 SSH 연결이 실패했기 때문에 SSH 세션을 열어 둔 것은 운이 좋았습니다(클라이언트는 인증 후 명령 프롬프트를 표시하지 않았습니다).

일반 사용자 영역 프로그램이 기존 SSH 세션이 없는 경우 하드 재부팅해야 하는 지점까지 전체 서버를 효과적으로 중단시킬 수 있다는 사실은 다음과 같습니다.고도로에 관하여! 내가 이해한 바는 Linux(또는 실제로는 모든 OS)가 전체 시스템이 사용할 수 없는 상태가 되기 전에 RAM을 확보하기 위해 프로세스를 종료해야 한다는 것입니다. 어떻게 그렇게 만들 수 있나요?

관련 정보