Upstart não satisfaz os requisitos de uso de recursos definidos pela estrofe “limit”

3

Estou com problemas com o Upstart.

Estou tentando iniciar o transmission-daemon (um cliente BitTorrent) com um limite no tamanho máximo de conjunto de residentes ( rss ).

Este é o arquivo /etc/init/transmission-daemon.conf :

start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]

# give time to send info to trackers
kill timeout 30

limit rss 1024 2048

setuid debian-transmission
setgid debian-transmission

respawn

pre-start script

  # stop job from continuing if no config file found for daemon
  [ ! -f /etc/default/transmission-daemon ] && { stop; exit 0; }

  # source the config file
  . /etc/default/transmission-daemon

  # stop job from continuing if admin has not enabled service in
  # config file.
  [ "$ENABLE_DAEMON" != 0 ] || { stop; exit 0; }

end script

script
  . /etc/default/transmission-daemon

  exec /usr/bin/transmission-daemon -f $OPTIONS
end script

Como você pode ver, eu adicionei o limite ( rss deve ser expresso em KiBs se eu não estiver errado) apenas no topo do script.

Quando executo o serviço com sudo service transmission-daemon start , posso ver com top que o processo de transmissão única-daemon usa muito mais memória residente do que o limite que defini acima e satura toda a memória disponível.

Por favor, note que isso não funciona mesmo se eu usar limites burros como limit rss 1 2 .

UPDATE: Parece que a unidade correta é Bytes e não KiB ou KBs. Eu tentei definir limit as 268435456 536870912 . Tanto quanto eu posso ver, o processo agora não ultrapassa o limite suave. Infelizmente, ele vai diretamente para SEGFAULT quando se aproxima para alcançar esse limite.

Esta é a saída do dmesg

[24165656.190272] transmission-da[3488]: segfault at 0 ip 00007ffad86602f6 sp 00007ffad203ea00 error 6 in transmission-daemon[7ffad863b000+75000]
[24165656.428762] init: transmission-daemon main process (3486) killed by SEGV signal
[24165656.428790] init: transmission-daemon main process ended, respawning
    
por Emanuele Casadio 29.06.2014 / 16:31

1 resposta

0

Apenas para o registro, OP resolveu seu problema usando bytes, não kilobytes.

    
por CameronNemo 29.06.2014 / 17:29