进程用到的虚拟内存比物理内存小是怎么回事?

2018-01-18 19:08:43 +08:00
 esolve

下面进程用到的虚拟内存比物理内存小是怎么回事?

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
246 root 20 0 7070m 2.5g 10m S 0.4 4.0 58:42.39 java

我的理解是,虚拟内存应该比物理内存大啊,

虚拟内存包括申请的内存,而物理内存是实际使用的内存

譬如

     List list = new ArrayList<String>(1000);
     list.add("abcd");   

这里申请了 1000 个,所以虚拟内存大小是 1000 个 String 的大小,但是物理内存就是“ abcd ”这个字符串占的内存。

1140 次点击
所在节点    问与答
3 条回复
esolve
2018-01-18 20:40:07 +08:00
顶顶顶
esolve
2018-01-18 22:16:40 +08:00
ding ding ding
esolve
2018-01-19 10:15:09 +08:00
ding ding ding 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/424018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX