我systemd
安装了一个服务。它造成了一些问题,我猜测它可能是文件描述符的东西。
文件描述符限制systemd
宽度相当高:
$ cat /proc/sys/fs/file-max
378259
但软限制似乎是默认的:
$ ulimit -Hn
1048576
$ ulimit -Sn
1024
以下哪些限制适用于我的systemd
服务?它以专用用户身份启动:
[Unit]
Description=Myservice
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
WorkingDirectory=/home/app
Restart=always
RestartSec=1
User=app
ExecStart=<PATH>
并且用户app
是普通用户(/etc/passwd
):
app:x:1002:1002:APP user:/home/app:/bin/sh
换句话说,具体什么数字会触发systemd
我正在运行的服务的限制,具体什么数字会在打开额外的 fd 时导致失败?
答案1
LimitNOFILE
允许使用冒号指定:
资源限制可以用两种格式指定:作为单个值将特定的软限制和硬限制设置为相同的值,或者作为冒号分隔的软:硬对单独设置两个限制(例如“LimitAS = 4G:16G”) 。
但有一个默认限制/etc/systemd/system.conf
:
DefaultLimitCORE=infinity:infinity
优先考虑,因此如果它有软限制,0
则不能在单位文件中增加......