2017-01-25 4 views
0

sysinfo freeramの使用方法に関する質問があります。私のプログラムでそれを使うと毎回同じ答えが報告されます。静的ではなく動的でなければならないと思います。私はボトルネックを判断するためにプログラム全体でテストポイントとして使用する予定です。例を以下にスタブ:SysInfoの使用方法が変更されない

TEST.H

struct sysinfo meminfo;

TEST.CPP

unsigned long iFreeMemory = 0; 
iFreeMemory = meminfo.freeram; 
std::cout "Free Ram: " << iFreeMemory << std::endl; 
system(run any program....); 
iFreeMemory = meminfo.freeram; 
std::cout << "Free Ram: " << iFreeMemory << std::endl; 
etc... 

結果は毎回同じです。答えは毎回違うはずだと思います。いかなる援助も感謝します。ありがとう。

+0

あなたは実際に 'sysinfo()'を呼び出していますか?あなたのコードはそうではないように見えます。 –

答えて

0

system()を呼び出して空きメモリが変更されると思われるようです。 system()で呼び出すプログラムが使用するメモリは、そのプログラムが終了するとすぐにOSによって再利用されるため、必ずしも意味をなさないとは限りません。したがって、system()呼び出しの前後に、システムのメモリ使用率がほぼ同じであることが期待されます。

0
unsigned long iFreeMemory = 0; 
sysinfo(&meminfo); 
iFreeMemory = meminfo.freeram; 
std::cout << "Free Ram: " << iFreeMemory << std::endl; 

あなたは「SYSINFO(& meminfoに)」あなたが空きメモリをチェックするたびに呼び出す必要があります。

関連する問題