我刚才只注意进程cpu使用的CPU资源了,忘了还有其它进程的,其他进程目前大约占了%3,稍微调整一下n,n=13200000,得到了50%的曲线,当然会有点波动。

注:上面说一个时钟周期执行一条指令是不合适的,各种指令的执行时间不同。计算机里的周期主要有时钟周期,机器周期,指令周期。一条指令的周期称为指令周期,由几个机器周期做成,而一个机器组成由几个时钟周期组成。上面的三条指令都需要取内存,因此时间长。如果把循环变量放在寄存器里,那么用的时间要小的多:
将内存数-8(%ebp)改为寄存器数%ebx
.L2:
movl $0, %ebx
jmp .L3
.L4:
addl $1, %ebx
.L3:
cmpl $13199999, %ebx
jle .L4
movl $60000, (%esp)
call usleep
jmp .L2


本文介绍如何在Linux下通过调整程序使CPU使用率呈现正弦曲线,通过改变循环和睡眠时间来实现。文章中给出了C语言的代码示例,并探讨了优化和性能提升的可能性,以及在多CPU环境下的应用。
最低0.47元/天 解锁文章
294

被折叠的 条评论
为什么被折叠?



