演算法研究之CPU佔用率曲線

2021-06-05 13:15:55 字數 1137 閱讀 1995

1.cpu佔用率曲線為正弦函式曲線:

第一步:想讓cpu佔用率曲線為某函式的曲線,首先是理解函式曲線與cpu佔用率曲線的關係,函式y = f(x), 對應到cpu佔用率曲線中來就是:x為流逝的時間,y為cpu佔用率;我們知道cpu的佔用率是0%-100%,也就是說函式的值域範圍是[0-1],但是正弦函式的值域是[-1,1],所以正弦函式需要做個變換才能把值域變成[0,1],經過y = 1/2 + 1/2sinx變換,值域就變成[0,1]了。

第二步:對於cpu佔用率 y = 1/2 + 1/2*sinx,也就是說在某個時間點x,cpu的使用時間就是忙時間佔總時間的比率為y;

想通這兩點了,cpu佔用率曲線為正弦函式曲線的演算法也就迎刃而解了。

**如下:

#include "windows.h"

#include "stdlib.h"

#include "math.h"

const double split = 0.01;

const int count = 100;

const double pi = 3.14159265;

const int interval = 300;

int main()

dword busyspan[count];

dword idlespan[count];

int half = interval/2;

double radian = 0.0;

for( int i=0; ibusyspan[i] = dword(  half+half*sin(pi*radian)  );                //  y = 1/2 + 1/2*(sinx)

idlespan[i] = interval - busyspan[i];

radian += split;

dword starttime = 0;

int j = 0;

while(true)        

j = j%count;

starttime = gettickcount();

while( gettickcount-starttime<=busyspan[j] );

sleep( idlespan[j] );

j++;

return 0;

檢視CPU佔用率

檢視系統cpu佔用率 在跑一些程式,例如deep learning的時候,總是希望檢視一下cpu gpu 記憶體的使用率 1.cpu 記憶體 使用top命令 top 有乙個更直觀的監測工具,叫htopsu doap t ge tins tall htop s ud oapt get inst all...

讓CPU佔用率畫出正弦曲線

都說計算機程式設計乏味,可是好多程式設計師卻玩地津津有味。計算機的世界什麼都可以用來做為程式設計師的遊戲,比如cpu。下面就讓我們來讓windows下的任務管理器聽我們指揮,畫出完美的正弦曲線吧。思路 0 目測windows下任務管理器重新整理頻率為1s,每一次重新整理的cpu佔用率其實就是這一時間...

讓CPU佔用率畫出正弦曲線

分類 程式設計之美 math.h windows manager 任務程式設計遊戲 都說計算機程式設計乏味,可是好多程式設計師卻玩地津津有味。計算機的世界什麼都可以用來做為程式設計師的遊戲,比如cpu。下面就讓我們來讓windows下的任務管理器聽我們指揮,畫出完美的正弦曲線吧。思路 0 目測win...