유사한 KVM 호스트의 유일한 KVM 게스트인 SuSE Linux Enterprise Server 12.5 시스템(커널 4.12.14-122.60)에서 이상한 문제가 발생했습니다.
systemd에 의해 시작된 서비스는 프로그램->프로세스를 시작한 다음 다른 프로그램->하위 프로세스를 시작하는 프로그램->하위 프로세스를 포크하여 더 많은 프로그램->하위 프로세스를 생성합니다.
약속 후. 50 또는 60개의 포크(일부 JAVA 하위 프로세스 포함), 그러면 해당 프로세스 트리에서 모든 연속적인 fork() 호출이 중지되고 errno=11(리소스를 일시적으로 사용할 수 없음)로 실패합니다.
동일한 UID(사용자)의 병렬 실행 로그인 세션은 여전히 새 프로세스를 생성할 수 있으며 시스템 초기화 트리에서 실패한 프로그램을 시작할 수도 있습니다.
내가 이해한 바로는 /etc/security/limits.conf의 NPROC 설정은 UID와 같은 시스템 전체 제한입니다. 하지만 여기서는 상위 프로세스와 해당 하위 프로세스 및 손자 프로세스에만 적용되는 제한 사항이 있는 것 같습니다.
그러한 제한이 있으며 어떻게 수정/확장할 수 있습니까? 아니면 이 동작을 간접적으로 발생시키는 또 다른 매개변수일 수 있습니까?
추가 정보: 이 문제는 우리가 설치한 하나의 서버에서만 발생합니다. 다른 모든 것은 잘 작동합니다. 이것은 160개의 CPU 코어와 128GB의 메모리를 갖추고 있으며, 다른 모든 것은 50% 미만입니다. 이 시스템의 기본 NPROC 값은 628000입니다...
어떤 팁이나 도움을 주시면 감사하겠습니다.
스테판 B님, 안녕하세요.
추신: 2016년에 Arch-Linux에서 몇 가지 유사한 문제가 발견되었지만 TasksMax를 사용하는 솔루션이 여기에도 적용되는지는 모르겠습니다.