编辑:我已经能够确定问题不是 compiz,而是 Xorg。我不知道为什么,但在问题消失之前,通过快速最大化终端并在 top 运行时截取屏幕截图,我能够看到 xorg 占用了 72% 的 CPU,bamfdaemon 占用了 18%,而 compiz 占用了 14%。似乎 nvidia 驱动程序是罪魁祸首,将更多地使用设置,也许会进行干净的 nvidia-current 安装以尝试解决问题。
遇到了一个非常烦人的 CPU 使用率过高问题。运行 12.04 并安装了最新驱动程序和 nvidia-current。几天来都没有出现任何问题,现在我遇到了一个奇怪的问题。
Unity 3d 大部分时间运行良好,CPU 使用率为 1-2%,只有传输在后台运行。窗口打开和关闭都很顺畅。
但是,无论打开了什么程序,如果我将所有打开的程序最小化到左侧的 Unity 栏,我的 CPU 就会跳到大约 80%,并减慢所有最大化和最小化效果。鼠标移动始终保持流畅,但 Unity 有时会在长达 30 秒的时间内无响应。按 alt + tab 调出一个窗口即可解决问题。我调出的窗口甚至不必最大化即可解决问题。按超级按钮调出仪表板会使 CPU 回到空闲状态,直到我关闭它,然后高 CPU 使用率恢复。
相信问题出在 compiz,但即使只有终端运行“top”,我也必须将其最小化到托盘才能显示问题,所以我看不到问题进程。我只能使用 indicator-sysmonitor 来判断 CPU 使用率过高。甚至尝试退出指示器,但我仍然可以看出最小化后所有应用程序的性能都非常差。
将 compiz 重置为默认值,尝试使用发布后更新的 nvidia 驱动程序,在 nvidia 设置和 compiz 中都使用 vsync 设置。甚至强制刷新率,但无法解决问题。此问题不会发生在 Unity 2D 中。
规格为 core 2 duo 2.0ghz、4GB ddr2 ram、2x 320 的 HDD (RAID 0) 和 Nvidia GTX 260M 显卡。
答案1
首先在你的终端中运行 top,查看哪个进程使用了你的 CPU:
top
检查 PID,然后尝试通过 strace 调试该进程:
sudo apt-get install strace
sudo strace -fp PID
然后你就会看到它到底在做什么。