이 숫자 만 늘려야할지 모르겠어요
max_user_watches
값에 도달했는지 확인하는 쉬운 방법은 사용자와 함께 inotifywatch
패키지 inotify-tools
에서 사용하고 파일에서 정보를 수집 할 수 있는지 확인하는 것입니다.
예를 들어 inotifywatch -v /home/bruno/.profile
나를 위해 반환합니다.
Establishing watches...
Total of 1 watches.
Finished establishing watches, now collecting statistics.
그래서 inotify
여기에, 어떤 문제를 새로운 시계를 생성하지 더 문제가 없습니다.
inotify 시계의 최대 한도에 도달하면
Failed to watch /home/bruno/.profile; upper limit on inotify watches reached!
이와 같은 내용이 표시되면 한도에 도달했으며 허용 된 시계 한도를 늘려야합니다.
더 많은 RAM을 소비합니까?
그렇습니다. 그러나이 이전 기사 에 따르면 소비되는 양은 실행중인 데스크톱의 다른 측면에 비해 최소입니다.
-메모리 사용량-
inotify 데이터 구조는 가볍습니다 :
inotify watch는 40 바이트입니다 inotify 장치는 68 바이트입니다 inotify 이벤트는 272 바이트입니다
따라서 장치에 8192 개의 시계가 있다고 가정하면 구조는 320KB의 메모리 만 소비합니다. 한 번에 최대 8 개의 장치를 사용할 수 있지만 여전히 2.5MB입니다.
각 장치에는 한 번에 256 개의 이벤트가 대기열에있을 수 있으며 이는 장치 당 68KB입니다. 모든 장치가 열려 있고 전체 이벤트 큐가있는 경우에만 0.5MB입니다.
따라서 거의 3MB의 메모리가 열리고 가득 찬 모든 경우에 사용됩니다.
각각의 inotify watch는 디렉토리 / 파일의 inode를 메모리에 고정 시키며, inode의 크기는 파일 시스템마다 다르지만 512 바이트라고 가정 할 수 있습니다.
따라서 최대 개수의 전역 시계가 활성화되어 있다고 가정하면 inode 캐시에 32MB의 inode가 핀 다운됩니다. 현대 시스템에서는 다시 문제가되지 않습니다.
물론 기사가 작성된 이후 많은 것이 바뀌지 않았다고 가정하지만 걱정하지 않을 숫자를보고 한계를 늘리면 RAM 소비가 크게 증가하지는 않습니다.
관련 게시물 inotify