这是VM上的一些代码(debian linux)。它实际上是在我的操作系统debian喘息,但不是在虚拟机上,我不知道为什么,但我对此有一些想法。我认为VM无法访问VM上的实际内存,因为它没有共享。
以下是代码:
void check_single_process(function_handler *handle, pid_t pid)
{
glibtop_proc_mem procmem;
glibtop_mem mem;
glibtop_get_proc_mem(&procmem, pid);
glibtop_get_mem(&mem);
handle->C.mem_used = (float)(100.0 * procmem.resident) / (float)mem.total;
}
实际上,在VM上,mem.total = 0.所以我遇到了分段错误。 如果有人能解释我的可能性和原因,谢谢。