Linux가 내 프로세스를 종료하는 이유는 무엇입니까?

Linux가 내 프로세스를 종료하는 이유는 무엇입니까?
  • Redhat Linux Enterprise Server 5.10(오래된 것으로 알고 있으므로 변경할 수 없음)
  • 이 머신은 VMTools를 사용하여 가상화되었습니다.
  • 이 VM의 총 메모리: 32GB. 총 디스크 스왑 공간(가상 메모리): 36GB. 메인 드라이브에 900GB 남았습니다.
  • 터미널은 Windows 7의 Hummingbird Exceed v14입니다. (둘 중 하나를 변경할 수 없습니다.)
  • 나는 실제 시스템 관리자가 아니며 단지 컴퓨터에서 프로그래밍을 할 뿐입니다. 따라서 로그의 위치와 검색 대상과 같은 더 자세한 지침이 도움이 될 것입니다.

스프레드시트에서 7000줄(그렇게 크지는 않음)을 읽는 특정 프로그램을 실행할 때 가끔 내 프로세스가 종료되고 터미널이 사라지는 경우가 있습니다.

  • OS가 내 프로세스를 종료할 수 있는 이유는 무엇입니까?
  • 이 VM이 상주하는 물리적 서버는 어제 정말 바빴습니다. 이 서버의 다른 VM이 얼마나 많은 메모리를 사용하고 있는지 누가 알겠습니까? 하지만 32GB의 메모리를 내 VM용으로 예약하면 안 될까요?
  • 메모리가 부족해지면 VMTOOLS가 모든 가상 머신을 살펴보고 임의의 VM과 임의의 리소스 호그를 선택하여 종료합니까? (내 프로세스는 CPU 시간의 95-99%를 사용하고 있었지만, 이는 내 VM에만 해당되는 것이라고 생각했습니다.)

감사해요. 난 정말 여기에 갇혀 있어요.


편집 1: /var/log/syslog를 확인하고 다음을 사용하여 여러 유형의 행을 무시했으며 grep -v, 시작할 때마다 리소스를 많이 소비하는 크론 작업이 실행 중인 것처럼 보이는 것을 확인했습니다. 나는 그것이 일어난 일이라고 생각합니다.

이제 제 질문은 이러한 크론 작업이 사용하는 메모리와 스왑 공간을 제한하여 메모리가 모두 소모되지 않고 터미널이 종료되지 않도록 할 수 있느냐는 것입니다. OS 수준에서 할 수 있는 일이 있나요?


2017년 12월 7일 편집: 을(를) 추가 조사한 결과 top메모리, 스왑 공간 또는 하드 드라이브 공간을 거의 사용하지 못했습니다. 따라서 다른 일이 진행되고 있으며 IT가 이를 조사하고 있습니다.

답변1

이제 제 질문은 이러한 크론 작업이 사용하는 메모리와 스왑 공간을 제한하여 메모리가 모두 소모되지 않고 터미널이 종료되지 않도록 할 수 있느냐는 것입니다. OS 수준에서 할 수 있는 일이 있나요?

예. 주의 깊게 읽어보세요setrlimit(2). 당신은ulimit 배쉬 내장적절하게.

주의하세요메모리 과잉 할당.

관련 정보