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

Linux가 내 프로세스를 종료하는 이유는 무엇입니까?
  • Redhat Linux Enterprise Server 5.10(오래되어서 변경할 수 없음을 알고 있음)
  • 머신은 VMTools를 사용하여 가상화됩니다.
  • 이 가상 머신의 총 메모리: 32GB. 총 디스크 스왑 공간(가상 메모리): 36GB. 메인 드라이브에 900GB가 남았습니다.
  • 터미널은 Windows 7의 Hummingbird Exceed v14입니다. (나는 그 중 어느 것도 바꿀 수 없습니다.)
  • 나는 실제로 시스템 관리자가 아니며 단지 컴퓨터에서 프로그래밍만 합니다. 따라서 로그가 어디에 있는지, 무엇을 찾아야 하는지 등 좀 더 자세한 설명이 도움이 될 것입니다.

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

  • 운영 체제가 내 프로세스를 종료할 수 있는 이유는 무엇입니까?
  • 이 VM이 있는 물리적 서버는 어제 매우 바빴습니다. 해당 서버의 다른 VM이 얼마나 많은 메모리를 사용하고 있는지 누가 알겠습니까? 하지만 32GB RAM을 내 VM 전용으로 예약하면 안 될까요?
  • 메모리가 부족할 때 VMTOOLS는 모든 VM을 확인하고 무작위 VM 및 무작위 리소스 점유자를 선택하여 종료합니까? (내 프로세스는 CPU 시간의 95-99%를 사용하고 있지만 이는 내 VM에만 해당되는 것 같습니다.)

감사해요. 난 정말 여기에 갇혀있습니다.


편집 1: /var/log/syslog를 확인하고 여러 유형의 행을 무시했는데 grep -v시작 시 본 내용은 매번 리소스를 많이 사용하는 크론 작업이 실행 중인 것처럼 보였습니다. 내 생각엔 그런 일이 일어난 것 같아.

이제 내 질문은 메모리가 고갈되지 않고 터미널이 종료되지 않도록 이러한 cron 작업에서 사용되는 메모리와 스왑 공간을 제한할 수 있습니까? OS 수준에서 할 수 있는 일이 있나요?


2017년 12월 7일 편집: 추가 조사 결과 top메모리, 스왑 공간 또는 하드 드라이브 공간이 거의 부족하지 않은 것으로 나타났습니다. 따라서 다른 일이 진행되고 있으며 IT에서 이를 조사하고 있습니다.

답변1

이제 내 질문은 메모리가 고갈되지 않고 터미널이 종료되지 않도록 이러한 cron 작업에서 사용되는 메모리와 스왑 공간을 제한할 수 있습니까? OS 수준에서 할 수 있는 일이 있나요?

예. 주의 깊게 읽어보세요제한 설정(2). 당신은 사용하고 싶어ulimit 배쉬 내장적절하게.

깨닫다메모리 과잉 할당.

관련 정보