방금 GNOME 인터페이스가 포함된 FreeBSD 9 버전을 설치했습니다. 루트에서 폴더를 열려고 할 때마다 메시지 상자가 나타나 다음 메시지와 함께 경고합니다 Too many open files in system
. 문제는 무엇이며 이를 방지하는 방법은 무엇입니까?
답변1
문제는 사용자당 제한이 있다는 것입니다. 이러한 제한 중에서 열린 파일은 운영 체제에서 요청할 수 있는 리소스 수를 제한합니다.
UNIX에서는 소켓, 파이프, 실제 파일, 모니터 등 모든 것이 파일입니다.
파일이 너무 많이 열려 있습니다. 열려 있는 모든 파일을 나열하는 "fstat" 또는 "lsof"와 같은 명령을 사용하여 이유를 알아보세요. 이 문제를 해결하고 책임을 질 수 있는 프로세스를 찾으시기 바랍니다. 사냥해 보세요. 특정 파일을 쉽게 열 수 있는지 확인하려면 "fuser"를 살펴볼 수도 있습니다.
즐거운 사냥.
답변2
좋은 추측을 드릴 수 있습니다. 아마도 GNOME의 검색 기능일 것입니다. 대부분의 오픈 소스 검색 도구는 파일 활동을 모니터링해야 합니다. Linux에서는 이것이 매우 효율적이지만 BSD에는 inotify가 없습니다. 그들은 kqueue를 사용하는데, 이는 모든 파일 설명자를 사용한다는 점을 제외하면 훌륭합니다. 검색/모니터링 기능의 제한이나 회전을 늘릴 수 있습니다. 여러 종이 있으며 비글이라고 부를 수 있습니다.