linux 如何通过PID或者程序名 得到该进程的CPU使用率以及内存使用率 用C++实现
linux如果通过PID或者程序名得到该进程的CPU使用率以及内存使用率用C++实现最好有代码具体细说也行。越详细越好尽量能适用于HP-UXAIX系统只针对linux也行...
linux 如果通过PID或者程序名 得到该进程的CPU使用率以及内存使用率 用C++实现
最好有代码 具体细说也行。越详细越好
尽量 能适用于HP-UX AIX系统 只针对linux也行。 展开
最好有代码 具体细说也行。越详细越好
尽量 能适用于HP-UX AIX系统 只针对linux也行。 展开
3个回答
展开全部
进程XXX占用了多少内存?这是个经常被问到,也经常被答错的问题。Linux进程的内存分配是个比较复杂的话题,而Linux上的工具往往把这个问题过分简单化,因此引出不少误解和困惑。首先把ps, top这类工具扔掉,然后看这么一个简单程序:
[root@pczou pczou]# cat ./prog.c
#include <stdio.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#define ONEM (1024*1024)
int func()
{
char s[16*ONEM];
char* p;
p = malloc(32*ONEM);
pause();
return 0;
}
int main()
{
printf("pid: %d\n", getpid());
func();
return 0;
}
其中func()这个函数分配了32MB的内存,以及16MB的堆栈。
原文见:http://pczou.bokee.com/5944730.html
[root@pczou pczou]# cat ./prog.c
#include <stdio.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#define ONEM (1024*1024)
int func()
{
char s[16*ONEM];
char* p;
p = malloc(32*ONEM);
pause();
return 0;
}
int main()
{
printf("pid: %d\n", getpid());
func();
return 0;
}
其中func()这个函数分配了32MB的内存,以及16MB的堆栈。
原文见:http://pczou.bokee.com/5944730.html
参考资料: http://pczou.bokee.com/5944730.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每个进程在/proc目录下都有一个以进程号命名的目录.
在该目录下有exe@文件,该文件是一个链接(应该是软链接)文件,它指向的路径就是该进程的全路径.用readlink函数读exe@文件返回该进程的全路径.
在该目录下有exe@文件,该文件是一个链接(应该是软链接)文件,它指向的路径就是该进程的全路径.用readlink函数读exe@文件返回该进程的全路径.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用Linux系统下的性能管理器,很直观!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询