Linux下内存占用和CPU占用的计算
2015-08-25 10:27
417 查看
->使用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.echo 3 > /proc/sys/vm/drop_caches
2.free
或者使用cat /proc/yourpid/status 来查看对应pid的内存占用(VmRSS为当前值,VmHWM为峰值)
(注:linux下的malloc申请100mb内存,并不会马上得到100mb,只会预分配一部分,用到时才另外分配)
->使用top -n 1查看进程的CPU占用情况。
或者使用以下方法计算:
FILE *fp = fopen("/proc/stat", "r"); if (fp) { char name[64] = { 0 }; char buffer[1024] = { 0 }; static int user0 = 0, total0 = 0; int user1, nice, sys, idle, iowait, irq, softirq, total1 = 0; fgets(buffer, sizeof(buffer), fp); sscanf(buffer, "%s %d %d %d %d %d %d %d", name, &user1, &nice, &sys, &idle, &iowait, &irq, &softirq); total1 = user1 + nice + sys + iowait + irq + softirq + idle; if (total1 != total0) m_iCpuPercent = ((user1 - user0) * 100)/ (double) (total1 - total0); else m_iCpuPercent = 0; user0 = user1; total0 = total1; fclose(fp); } else { fprintf(stderr, "fopen failed:%s\n", strerror(errno)); }
相关文章推荐
- Ubuntu系统下的Hadoop集群(7)_设置Linux环境变量的方法和区别
- SELINUX部分的权限规则问题鸟哥7.4&&7.5?????
- linux fork函数与vfork函数
- Linux下修改MySQL默认存储引擎
- Centos 6.5下企业级自动化运维部署-Ansible
- linux socket编程注意点 和 关闭selinux、防火墙 或者 设置相应端口允许通讯!!!
- 跨平台(linux/win)启动线程, 并设置线程名称(便于调试)
- Ubuntu vs centos
- Linux防SYN Flood***
- linux修改网卡速率
- VirtualBox安装CentOS后如何安装增强功能
- 纯转载Linux目录结构
- Linux 基础命令(2)
- linux常见内核参数介绍
- Linux+Mono+Asp.net入门:05CentOs安装Mono(上)
- 虚拟机linux端mysql数据库无法远程访问的解决办法
- linux之Ubutun学习
- Linux 远程和本地的一些解决方案
- Linux 远程和本地的一些解决方案
- Linux 远程和本地的一些解决方案