No SmartOS como saber se o processo foi eliminado para OOM

1

Um processo daemon é morto quase imediatamente, assim que ele começa a receber solicitações. O log do aplicativo não tem absolutamente nenhuma saída de erro, mesmo quando tento executá-lo em primeiro plano.

Suspeito que o SO possa estar acabando com o OOM, porque essa instância da VM tem apenas 512 MB alocada.

Eu gostaria de descobrir o que está causando isso, mas estou frustrado pelo fato de que há poucos arquivos de log disponíveis:

# ls -la /var/log
total 20011
drwxr-xr-x   3 root     sys           10 Oct  9 02:38 .
drwxr-xr-x  31 root     root          31 May 15  2013 ..
-rw-r-----   1 root     root     4914932 Nov 15 16:34 auth.log
-rw-r--r--   1 root     root           0 Sep  9 15:49 courier.log
drwxr-xr-x   3 root     root           5 Nov  8 22:18 httpd
-rw-r--r--   1 root     root     2515768 Sep 10 03:10 postfix.log
-rw-r-----   1 root     other          0 Feb 21  2008 sysidconfig.log
-rw-r-----   1 root     sys      2514934 Sep 10 03:10 syslog
-rw-------   1 root     root         132 Nov  8 18:45 vsftpd.log
-rw-r--r--   1 root     root           0 Jun  5  2012 zoneinit.log

Como você pode ver, o syslog tem dois meses, mas nenhuma entrada nova foi adicionada recentemente. E são todos os arquivos de log que posso encontrar.

Estou usando o SmartOS:

SunOS hostname 5.11 joyent_20120504T040233Z i86pc i386 i86pc

Eu tenho raiz, desta instância (que no jargão do SmartOS é chamado de "zona", afaik), mas não tem controle sobre todo o sistema.

Eu li , mas isso não ajuda no meu caso.

    
por fulv 15.11.2013 / 17:37

1 resposta

1

O Solaris / SmartOS não implementa o OOM Killer. Então não é isso. Se um aplicativo tentar solicitar uma memória que não esteja disponível, um erro será retornado ao aplicativo e ele poderá continuar em execução. É claro que o aplicativo gerencia o erro é uma questão diferente.

Você pode usar o truss / dtrace para verificar os syscalls que o aplicativo está fazendo e procurar por quaisquer erros retornados.

Você também pode ficar de olho no processo usando prstat, ps etc para ver quanta memória está solicitando / usando.

    
por 01.06.2014 / 12:45