応答に時間がかかりすぎる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
2つのシステムコールを完了するのに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
同じコンピュータで新しいデスクトップを開き、同じプログラムを実行して、すべてがうまくいきました。
しかし、私のデフォルトのデスクトップでプログラムを正しく実行する方法が見つかりません。誰もがこれを行う方法についてアドバイスできますか?