esolve
V2EX  ›  问与答

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

  •  
  •   esolve · Jan 18, 2018 · 1543 views
    This topic created in 3120 days ago, the information mentioned may be changed or developed.

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

    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 ”这个字符串占的内存。

    esolve
        1
    esolve  
    OP
       Jan 18, 2018
    顶顶顶
    esolve
        2
    esolve  
    OP
       Jan 18, 2018
    ding ding ding
    esolve
        3
    esolve  
    OP
       Jan 19, 2018
    ding ding ding 啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5152 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:23 · PVG 17:23 · LAX 02:23 · JFK 05:23
    ♥ Do have faith in what you're doing.