esolve
V2EX  ›  问与答

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

  •  
  •   esolve · Jan 18, 2018 · 1486 views
    This topic created in 3066 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   ·   2951 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:10 · PVG 23:10 · LAX 08:10 · JFK 11:10
    ♥ Do have faith in what you're doing.