Select 空闲时100%CPU下的Xvnc进程
在Debian 7虚拟机中运行TigerVNC 1.3.1时,我遇到了一个非常严重的注释问题。在VNC窗口中无所事事大约一分钟后,Xvnc进程的CPU使用率将达到100%。一旦我再次将鼠标移到VNC窗口中,CPU使用率就会恢复正常。我相信函数调用select是罪魁祸首。做strace-p给了我很多信息:Select 空闲时100%CPU下的Xvnc进程,select,vnc,Select,Vnc,在Debian 7虚拟机中运行TigerVNC 1.3.1时,我遇到了一个非常严重的注释问题。在VNC窗口中无所事事大约一分钟后,Xvnc进程的CPU使用率将达到100%。一旦我再次将鼠标移到VNC窗口中,CPU使用率就会恢复正常。我相信函数调用select是罪魁祸首。做strace-p给了我很多信息: select(256, [0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
select(256, [0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74], NULL, NULL, {0, 0}) = 0 (Timeout)
和strace-c-p:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
78.19 0.001760 0 98445 select
21.81 0.000491 0 196889 setitimer
------ ----------- ----------- --------- --------- ----------------
100.00 0.002251 295334 total
我不是系统函数调用方面的专家,但我用这些命令检查的所有其他进程都没有显示这种行为。这是tigervnc代码中的一个错误,还是有办法修复它?我建议您重置为默认设置,看看是否一切正常。很长一段时间我都是tightvnc用户,直到我切换到RealVNC免费版。我建议你试试看。设置几乎与tightvnc相同。而且它支持真正的跨机器文本复制和粘贴。我试过RealVNC。这对我来说是不可使用的b/c KDE中的键盘布局面板崩溃了,所以我无法使用非美国键。