最近,我注意到它mate-screenshot
变得非常慢。我一直在关注 20.04 LTS 更新,但我不知道最近更新了哪些软件包导致了这种情况。
有趣的是,延迟似乎不是在启动程序(例如通过按键Print Screen或mate-screen
命令)和截屏之间;相反,最大的延迟(约 30 秒)是在截屏和弹出窗口保存或丢弃之间。我通过截取显示时钟的窗口的屏幕截图验证了这一观察结果。
运行mate-screenshot
中strace
,卡在一个poll
调用上:
poll([{fd=12, events=POLLIN}], 1, 25000
从打开该文件描述符一直到停顿的完整strace
日志如下:
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 12
write(12, "\1\0\0\0\0\0\0\0", 8) = 8
write(8, "\1\0\0\0\0\0\0\0", 8) = 8
futex(0x7f2e10013000, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f2e10012d90, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x55e608d13698, FUTEX_WAKE_PRIVATE, 1) = 1
poll([{fd=12, events=POLLIN}], 1, 25000) = 1 ([{fd=12, revents=POLLIN}])
read(12, "\1\0\0\0\0\0\0\0", 16) = 8
poll([{fd=12, events=POLLIN}], 1, 25000) = ...
什么原因可能导致这种速度减慢?我该如何消除它?