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

本文介绍了如何利用ru_utime和ru_stime计算进程在用户模式和系统模式的执行时间,以及通过ru_minflt和ru_majflt评估内存页缺失情况。通过getrusage函数可以获取这些资源使用数据,从而分析程序运行时间和内存占用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

用情况的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值