gpt4 book ai didi

linux - htop 显示的常驻内存使用量多于机器的内存使用量

转载 作者:太空狗 更新时间:2023-10-29 12:28:13 26 4
gpt4 key购买 nike

htoptop 显示比机器上存在的物理内存更多的常驻内存消耗:

htop 输出:

htop screenshot

顶级输出:

top screenshot

自由输出:

free screenshot

这怎么可能?

编辑 1:

pmap 输出:https://gist.github.com/ixaxaar/1571308666360f65dc66

最佳答案

一个快速实验表明,在 fork 之后,RES 将计算父进程和子进程的内存,即使在实践中每个页面将被共享,直到一个进程修改它或死亡。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main ()
{
/* 100 MiB */
size_t size = 100 * 1024 * 1024;
char *ptr = malloc (size);

memset (ptr, 1, size);

int pid = fork ();
if (pid == 0)
{
puts ("Child");
}
else
{
puts ("Parent");
}
sleep (60);
puts ("Bye");

return 0;
}

如果我运行它,然后查看 htop,我会看到两个驻留“100M”的进程。

关于linux - htop 显示的常驻内存使用量多于机器的内存使用量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com