어떤 이유로 내 작업 중 일부가 운영 체제에 의해 중단되었습니다. 왜 이런 일이 발생하는지 조사해야 합니다. 내가 실행한 작업은 자체 로그에 오류 메시지를 표시하지 않았는데, 이는 OS가 해당 작업을 종료했음을 나타낼 수 있습니다. 다른 사람은 서버에 액세스할 수 없습니다. OOM 킬러에 대해 알고 있는데, 다른 프로세스 킬러가 있나요? 이러한 로그는 어디서 찾을 수 있나요?
답변1
oom은 현재 자동 종료되는 유일한 것입니다.
정보
그리고/var/log/메시지옴킬이 표시되어야 합니다.
프로세스가 신호를 처리할 수 있으면 최소한 종료 신호를 기록할 수 있습니다.
일반적으로 메모리 점유자는 종료됩니다. 메모리가 할당되었지만 실제로 필요하지 않은 경우 더 많은 스왑 공간이 도움이 될 수 있습니다.
그렇지 않으면 더 많은 메모리를 확보하십시오.
답변2
떠오르는 것은 다음과 같습니다.
- 유효하지 않은 메모리 액세스를 가져오거나
SIGSEGV
사용SIGBUS
SIGILL
잘못된 지시의 경우SIGFPE
잘못된 산술 연산(예: 0으로 나누기)을 수행하는 경우SIGXCPU
또는SIGXFSZ
프로세스가 특정 한도를 초과하는 경우SIGHUP
단선된 단말기 및 기타 일부 경우SIGPIPE
닫힌 파이프나 소켓에 쓰려고 할 때