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
유닛 파일에서 늘릴 수 없습니다.