저는 Ubuntu 16.04 시스템이 낮은 메모리 조건을 어떻게 처리하는지 테스트 중이었고 서버의 거의 모든 RAM을 사용하는 여러 가지 작업이 일시 중단되었습니다. 어젯밤 퇴근할 때에도 여전히 일반적인 bash 명령을 실행할 수 있었습니다. 아침에(아무도 서버에 아무 작업도 하지 않은 상태에서) 모든 명령( ps
, free
, ls
등)에서 다음 오류가 발생했습니다.
-bash: fork: Cannot allocate memory
jobs
나는 결국 기계를 실행 하고 kill %1
복구할 수 있었습니다 . 추가 SSH 연결이 실패했기 때문에 SSH 세션을 열어 둔 것은 운이 좋았습니다(클라이언트는 인증 후 명령 프롬프트를 표시하지 않았습니다).
일반 사용자 영역 프로그램이 기존 SSH 세션이 없는 경우 하드 재부팅해야 하는 지점까지 전체 서버를 효과적으로 중단시킬 수 있다는 사실은 다음과 같습니다.고도로에 관하여! 내가 이해한 바는 Linux(또는 실제로는 모든 OS)가 전체 시스템이 사용할 수 없는 상태가 되기 전에 RAM을 확보하기 위해 프로세스를 종료해야 한다는 것입니다. 어떻게 그렇게 만들 수 있나요?