CPU被设计为在可以节省电力和保持凉爽的情况下进入低功耗模式,我想制作一个程序来防止这种情况发生。
我正在开发几个不同的嵌入式平台(飞思卡尔 Coldfire 8052、TI Sitara AM3359,可能还有其他一些正在开发中的平台),所以我想制作一个应用程序,让 CPU 保持满载以进行基准测试。我想自己写,因为交叉编译会更容易,然后为每个目标寻找解决方案。
我最初的想法是:
while(1);
问题 1:
但我是否过度简化了这个?top 显示该程序占用了大约 99.4% 的 CPU 使用率,所以我猜它正在工作,但它似乎不应该那么简单。:) 任何人都知道是否应该有更多的东西?
问题 2:
如果我想扩展它以执行不同的负载(例如,50%、75% 或其他),我该怎么做?我设法通过以下方式获得 18~20% 的 CPU 使用率:
while(1){usleep(1);}
有没有比仅仅猜测和检查睡眠值更科学的方法?无论如何,我认为每个目标都会有所不同。