VSZ 与 RSS 内存和交换 space
VSZ vs RSS memory and swap space
我正在尝试了解我们正在尝试 运行 的大规模模拟的内存使用情况。当我 运行 它 "ps" 报告
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
myuser 5252 97.7 0.5 5751412 377392 ? Rs 19:49 1:15 myprogram
我们在那个模拟中有三个阵列,每个阵列占用 1.6gb(2 亿双)。根据
中的信息
What is RSS and VSZ in Linux memory management
我以为内存会列在RSS 下,但RSS 只有377MB。根据Whosebug线程中的信息我断定内存必须换出并查看"free -m"
total used free shared buffers cached
Mem: 64391 5985 58406 0 463 1295
-/+ buffers/cache: 4226 60164
Swap: 4766 0 4766
而且swap根本不用!除了它太小的事实之外。那么 RSS 与 VSZ 的差异从何而来?为什么我们分配的数组是 VSZ 的一部分而不是 RSS 的一部分?
感谢所有帮助
对您的问题的简单回答是,数组是在虚拟中定义的 space 这就是为什么只有当您使用数组时,VSZ 中才显示数组的内存,它会成为 RSS 的一部分。
在我看来,保持你的思维简单会给你解释。 VSZ是进程可以使用的虚拟内存,而RSS是此时实际分配的物理内存。当实际使用虚拟内存时,OS 将分配增加 RSS 的内存。
我正在尝试了解我们正在尝试 运行 的大规模模拟的内存使用情况。当我 运行 它 "ps" 报告
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
myuser 5252 97.7 0.5 5751412 377392 ? Rs 19:49 1:15 myprogram
我们在那个模拟中有三个阵列,每个阵列占用 1.6gb(2 亿双)。根据
中的信息What is RSS and VSZ in Linux memory management
我以为内存会列在RSS 下,但RSS 只有377MB。根据Whosebug线程中的信息我断定内存必须换出并查看"free -m"
total used free shared buffers cached
Mem: 64391 5985 58406 0 463 1295
-/+ buffers/cache: 4226 60164
Swap: 4766 0 4766
而且swap根本不用!除了它太小的事实之外。那么 RSS 与 VSZ 的差异从何而来?为什么我们分配的数组是 VSZ 的一部分而不是 RSS 的一部分?
感谢所有帮助
对您的问题的简单回答是,数组是在虚拟中定义的 space 这就是为什么只有当您使用数组时,VSZ 中才显示数组的内存,它会成为 RSS 的一部分。 在我看来,保持你的思维简单会给你解释。 VSZ是进程可以使用的虚拟内存,而RSS是此时实际分配的物理内存。当实际使用虚拟内存时,OS 将分配增加 RSS 的内存。