Linux下内存占用和CPU占用的计算

 

 

->使用free命令查看内存使用情况:

1.echo 3 > /proc/sys/vm/drop_caches

2.free

或者使用cat /proc/yourpid/status 来查看对应pid的内存占用(VmRSS为当前值,VmHWM为峰值)

(注:linux下的malloc申请100mb内存,并不会马上得到100mb,只会预分配一部分,用到时才另外分配)

 

->使用top -n 1查看进程的CPU占用情况。

或者使用以下方法计算:

 1         FILE *fp = fopen("/proc/stat", "r");
 2         if (fp) {
 3             char name[64] = { 0 };
 4             char buffer[1024] = { 0 };
 5             static int user0 = 0, total0 = 0;
 6             int user1, nice, sys, idle, iowait, irq, softirq, total1 = 0;
 7 
 8             fgets(buffer, sizeof(buffer), fp);
 9             sscanf(buffer, "%s %d %d %d %d %d %d %d", name, &user1, &nice, &sys,
10                     &idle, &iowait, &irq, &softirq);
11             total1 = user1 + nice + sys + iowait + irq + softirq + idle;
12             if (total1 != total0)
13                 m_iCpuPercent = ((user1 - user0) * 100)/ (double) (total1 - total0);
14             else
15                 m_iCpuPercent = 0;
16             user0 = user1;
17             total0 = total1;
18             fclose(fp);
19         } else {
20             fprintf(stderr, "fopen failed:%s\n", strerror(errno));
21         }    

 

转载于:https://www.cnblogs.com/littlemeng/p/4756744.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值