esolve
V2EX  ›  问与答

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

  •  
  •   esolve · Jan 18, 2018 · 1614 views
    This topic created in 3211 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
    esolve
    OP
    Jan 18, 2018
    1
    顶顶顶
    esolve
    esolve
    OP
    Jan 18, 2018
    2
    ding ding ding
    esolve
    esolve
    OP
    Jan 19, 2018
    3
    ding ding ding 啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1407 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:48 · PVG 04:48 · LAX 12:48 · JFK 15:48
    ♥ Do have faith in what you're doing.