【发布时间】:2023-03-27 09:48:01
【问题描述】:
我有一个指向正在运行的进程的指针。我想知道该进程占用了多少物理内存。
我试过这个,但我得到 0 作为返回值。
unsigned long mem_usage(struct task_struct *process)
{
return process->mm->total_vm/2048 * 100000; // this is wrong vm means virtual memory.
}
process->mm->total_vm 返回字节对吗?有没有更简单的计算方法?
【问题讨论】:
-
这是linux内核吗?如果是这样,可能有一个标签。另外,尝试颠倒操作顺序。
process->mm->total_vm * 100000 / 2048 -
是的。只是在我倒车时挂起。这是我尝试的第一件事。
标签: c memory process linux-kernel