进程使用时间和内存的计算

ru_utime 和 ru_stime 成员变量包含了在用户模式和

系统模式中执行时间的总和遥 其结构都为 timeval 结构遥

ru_minflt 成员指不需要 I/O 的页缺失数遥 页缺失发

生在内核需要得到一个内存页以供进程访问遥

ru_majflt 值指需要 I/O 的页缺失数遥 页缺失发生在

内核需要得到一个内存页以供进程访问时遥

有时袁一个进程会被调出内存袁以提供空间给其他

进程使用遥 ru_nswap 指的就是一个进程被调出内存的次

数遥

通过该结构体就可以统计出各用户程序对资源的

图 评测系统体系结构

图 评测主程序流程

12

《电子技术应用》  www.ChinaAET.com

《电子技术应用》  www.ChinaAET.com

Software Technology

软件天地

占用情况袁 通过调用函数 int getrusage (int who, struct

rusage *rusage) 对用户程序运行时间和内存占用情况进

行分析统计遥

统计程序运行时间院

passtime=usage.ru_utime.tv_sec+usage.ru_stime.tv_sec+

(float)

(usage.ru_stime.tv_usec

+usage.ru_utime.tv_usec)/

1000000;

统计程序所占内存的开销院

usedMemory = usage.ru_minflt*4

通过统计该两项袁能计算出程序运行时间和内存使

用情况的数据

你可能感兴趣的:(进程使用时间和内存的计算)