gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:51 24 4
gpt4 key购买 nike

我们在 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 协商调用中,没有收到任何答复。对于这两种情况,我们还为 Mono 激活了环境变量“最大线程”的导出。

所以问题是,在这两种情况下,资源系统使用/可用性可能有什么不同?

最佳答案

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

LimitNOFILE=65536

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

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

关于linux - 在 Linux : different behaviour using "su root -c" 上使用 systemd 启动进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com