描述
当我从特定的Linux机器运行Vivado集成设计环境时,Vivado似乎很慢并且使用了机器CPU的高百分比(例如,两个CPU的100%;六个CPU的40%)。
在另一个系统上运行具有相同设计和相同进程的Vivado不会占用过多的CPU资源。
此外,如果我在Tcl模式下运行Vivado,则不会使用过多的CPU资源。
解
2012年6月30日发生了闰秒更新,该更新已被确定为导致使用FUTEX调用(例如Vivado)的应用程序占用100%的CPU。
该问题出现在所有Linux内核版本> = 2.6.22更高版本中。
问题是由FUTEX子系统时序变为去同步导致FUTEX调用返回超时。
这些调用会不断循环和超时,从而导致CPU使用率过高并降低应用程序性能。
可以通过在Vivado进程上运行strace并检查strace日志以查看对FUTEX的多次调用(’strace -f <PID>’)来识别此问题。
可以使用以下命令重置系统日期:date -s“`date`”
运行此命令后,CPU使用率和Vivado IDE GUI性能应恢复正常。
没有回复内容