在Linux上使用systemd启动进程:使用" su root -c"

时间:2017-03-24 09:01:10

标签: linux shell mono systemd

我们在Linux Debian服务器上使用Mono / Owin的SignalR推送服务器。

我们执行负载测试,根据在systemd上启动推送的方式,我们会得到不同的行为

工作: ExecStart = / bin / su root -c' / usr / bin / mono --server mydaemon.exe -l:/var/run/mydaemon.pid'

大约1k连接后挂起: ExecStart = / usr / bin / mono --server mydaemon.exe -l:/var/run/mydaemon.pid

我们可以随时重现不同的行为:在第二种情况下,测试客户端留在SignalR协商呼叫,而不接收任何答案。 我们还对环境变量的出口进行了调整" max thread"对于这两种情况都是Mono。

所以问题是,这两种情况下资源系统使用/可用性的差异是什么?

1 个答案:

答案 0 :(得分:2)

在systemd服务定义中,您可以指定打开文件数的限制,因此如果添加一行:

LimitNOFILE=65536

在服务定义文件的[Service]部分中,它应该设置该值的限制,而不是通过systemd作为1024的默认值。

systemd-system.conf文件定义限制默认值的参数(例如DefaultLimitNOFILE),systemd.exec手册页定义了可用于设置各种限制的默认值的参数

相关问题