怎么查看进程使用的内存,像windows下的任务管理器一样

踏实每一步 2011-09-22 10:24:05
我写了个程序,不断循环的分配内存,然后用top -p pid去查看进程内存,怎么一直都显示的是0.
...全文
111 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏实每一步 2011-09-22
  • 打赏
  • 举报
回复
程序就是这样:
#include <iostream.h>

int main()
{
char* p[1024];
for(int i=0;i<1024;i++)
{
p[i] = new char[1024*1024*5];
sleep(1);
}

for(int i=0;i<1024;i++)
{
delete []p[i];
}

return 0;
}
踏实每一步 2011-09-22
  • 打赏
  • 举报
回复
time 也一直都是0,cpu也是0.
踏实每一步 2011-09-22
  • 打赏
  • 举报
回复
VIRT RES 这个程序运行的时候一直都在增加,说明一直在分配。我刚才看了%MEM一直都是0,我还以为没有分配,但也奇怪为什么这个值一直都是0.
kqh168 2011-09-22
  • 打赏
  • 举报
回复
就是用top -p pid,RES 列代表内存
steptodream 2011-09-22
  • 打赏
  • 举报
回复
top -p pid的方式是没有问题的 除非你程序有问题 看我的结果 注意%MEM那一列

# top -p 19693
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19693 nginx 16 0 156m 16m 10m S 0.0 3.3 0:00.45 php-cgi

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧