Por que o Linux estaria matando meu processo?

Por que o Linux estaria matando meu processo?
  • Redhat Linux Enterprise Server 5.10 (sei que é antigo, não posso mudar isso)
  • Esta máquina é virtualizada usando VMTools.
  • Memória total para esta VM: 32 GB. Espaço total de troca em disco (memória virtual): 36 GB. Restam 900 GB na unidade principal.
  • O terminal é Hummingbird Exceed v14 no Windows 7. (não posso alterar nenhum deles).
  • Não sou um administrador de sistema de verdade, apenas programo na máquina. Portanto, instruções mais detalhadas seriam úteis, como onde estão os logs e o que procurar.

Quando estou executando um determinado programa lendo 7.000 linhas de uma planilha (o que não é tão grande), às vezes meu processo simplesmente é encerrado e o terminal desaparece.

  • Quais são alguns dos motivos pelos quais o sistema operacional pode interromper meu processo?
  • O servidor físico em que esta VM reside estava muito ocupado ontem, quem sabe quanta memória as outras VMs neste servidor estavam usando, mas meus 32 GB de memória não deveriam ser reservados apenas para minha VM?
  • O VMTOOLS examinaria todas as máquinas virtuais quando a memória ficasse baixa e escolheria VMs aleatórias e consumidores de recursos aleatórios para matar? (Meu processo estava usando 95-99% do tempo da CPU, mas, novamente, pensei que fosse apenas para minha VM.)

Obrigado. Estou realmente preso aqui.


EDIT 1: verifiquei /var/log/syslog e ignorei vários tipos de linhas usando grep -ve o que vi quando fui iniciado, cada vez que parecia que alguns cron jobs que exigiam recursos estavam em execução. Acho que foi isso que aconteceu.

Agora, minha pergunta é: posso limitar a memória e trocar o espaço que esses cron jobs usam, para que a memória não seja usada e meu terminal não seja eliminado? Existe algo que eu possa fazer no nível do sistema operacional?


EDITAR 07/12/2017: Após uma investigação mais aprofundada com top, não estamos nem perto de usar memória, espaço de troca ou espaço no disco rígido. Então, algo mais está acontecendo e a TI está investigando.

Responder1

Agora, minha pergunta é: posso limitar a memória e trocar o espaço que esses cron jobs usam, para que a memória não seja usada e meu terminal não seja morto? Existe algo que eu possa fazer no nível do sistema operacional?

Sim. Leia cuidadosamentedefinir limite(2). Você quer usar oulimit bash embutidoadequadamente.

Estar ciente decomprometimento excessivo de memória.

informação relacionada