
응답하는 데 너무 오랜 시간이 걸리는 GUI 프로그램이 있어서 strace -T
모든 시스템 호출을 보고하곤 했습니다. 프로그램이 느려지는 이유는 poll
시간이 너무 많이 걸리기 때문이라는 것을 알았습니다. 예를 들어 결과에는 strace -T
다음이 포함됩니다.
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}]) <5.031644>
......
poll([{fd=9, events=POLLIN}], 1, -1) = 1 ([{fd=9, revents=POLLIN}]) <7.840762>
poll
두 개의 시스템 호출을 완료하는 데 5.03초와 7.84초가 걸렸다 고 합니다 . 보고서를 검색하여 fd=9
해당 소켓이 /tmp/.X11-unix/X1
다음과 같은 것을 발견했습니다.
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 9 <0.000008>
connect(9, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X1"}, 20) = 0 <0.000008>
poll
응답시간이 길어서 시간이 많이 걸리는 것 같아요 X11
. 그래서 VNC
동일한 컴퓨터에서 새 데스크탑을 열고 동일한 프로그램을 실행하여 모든 것이 잘 작동했습니다.
하지만 내 기본 데스크탑에서 프로그램을 제대로 실행하는 방법을 찾을 수 없습니다. 누구든지 이 작업을 수행하는 방법에 대한 조언을 줄 수 있습니까?