문제

많은 파일을 포함하는 NFS 디렉토리의 경우 GTK FilechooserDialog를 열면 고통 스럽습니다. Strace는 "STAT"를 호출하는 데 많은 시간을 보여줍니다. 디렉토리의 각 파일에 대해 약 5 번의 호출. 통화를 'STAT'로 전환하고 수정 시간없이 파일 이름 목록 만 표시하는 방법은 무엇입니까?

우리는 운영 Redhat Enterprise 4, X86_64, Linux 2.6.9-42.0.8.ELSMP 및 FILECHOOSER가 제공됩니다 : /usr/lib64/libgtk-x11-2.0.so.0.400.13. 테스트 프로그램은 FilechooserDialog를 열고 동일한 디렉토리를 나열하려면 'LS'의 경우 약 25ms에 비해 10 초가 걸립니다.

이 파일 선택기 문제로 인해 Eclipse 응용 프로그램이 무너지고 있습니다 ...

도움이 되었습니까?

해결책

GTK+ 및 GNOME 팀에는 a가 있습니다 벌레 이 문제와 관련된 보고서는 적어도 2005 년 이후로 최소한 2015 년 이후로 최근 및 향후 변화가 성능을 향상시킬 것입니다. Filechooser 메뉴에 네트워크 드라이브에 대한 북마크가 있으면이 문제가 악화 될 수 있습니다.

다른 팁

gtk 파일 열기 대화 상자는 아마도 스탯 (2) 디렉토리의 모든 파일을 ting합니다. 그것은 진동입니다 ls -l 디렉토리에서는 천천히 실행해야합니다. 출력 ls | cat 파일을 디렉토리와 구별 할 수 없기 때문에 충분하지 않을 수 있습니다.

측정하는 것이 좋습니다 ls | cat, ls -l 그리고 GTK 파일 열기 대화 상자. GTK 파일 열기 대화 상자가 ls -l, 그런 다음 GTK (NFS가 아님)에 뭔가 문제가 있습니다. GTK 응용 프로그램을 실행했습니다 strace, 그리고 느린 것이 무엇인지 확인하십시오. GTK 파일 열기 대화 상자가 ls -l, 나는 그것이 더 빨리 만들 수 없다고 생각합니다. 아마도 NFS 마운트 플래그를 조정하거나 NFS 클라이언트와 서버를 업그레이드하거나 Samba와 같은 더 빠른 인프라로 전환 할 수 있습니다.

디렉토리가 Noatime으로 장착 되었습니까? 각 파일의 atime은 STAT로 업데이트되므로 통계에 도움이 될 수 있습니다.

Atime 업데이트를 끄려면 -o noatime으로 NFS 마운트를 다시 마운트해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top