Upstart 不满足“限制”节规定的资源使用要求

Upstart 不满足“限制”节规定的资源使用要求

我在使用 Upstart 时遇到了问题。

我正在尝试启动传输守护进程(BitTorrent 客户端)的最大驻留集大小有限制(订阅)。

这是/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

如你所见,我添加了限制(订阅如果我没记错的话,应该以 KiB 来表示)就在脚本的顶部。

当我使用 运行服务时sudo service transmission-daemon start,我可以看到top单个传输守护进程使用的驻留内存远远超过我上面设置的限制,并且饱和了所有可用内存。

请注意,即使我使用诸如这样的愚蠢限制,这也不起作用limit rss 1 2

更新:似乎正确的单位是字节,而不是 KiB 或 KB。我尝试设置limit as 268435456 536870912。据我所知,该过程现在不会超出软限制。不幸的是,当接近该限制时,它会直接进入 SEGFAULT。

这是 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

答案1

仅供记录,OP 使用字节而不是千字节来解决他的问题。

相关内容