#请教#笔记本物理内存 8G, VMware 里面装两个虚拟机各分 4G 内存同时运行,会发生什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Aaaron

#请教#笔记本物理内存 8G, VMware 里面装两个虚拟机各分 4G 内存同时运行,会发生什么?

  •  
  •   Aaaron Mar 15, 2017 9830 views
    This topic created in 3332 days ago, the information mentioned may be changed or developed.
    20 replies    2018-10-03 22:36:53 +08:00
    Aaaron
        1
    Aaaron  
    OP
       Mar 15, 2017
    #已经测试# 8G 物理内存,两个虚拟机各分 4G 和 1G 内存,同时运行没发生任何问题。
    nszm
        2
    nszm  
       Mar 15, 2017
    物理内存并不会发生改变
    vibbow
        3
    vibbow  
       Mar 15, 2017
    其中一个虚拟机会被强制暂停,理由是内存不足。
    UnisandK
        4
    UnisandK  
       Mar 15, 2017
    virtio_balloon
    都跑满会占到你电脑的硬盘交换区
    Aaaron
        5
    Aaaron  
    OP
       Mar 15, 2017
    @nszm @vibbow 物理内存应该不会发生变化,也有人说是`会无限交换内存,最终三台机器都卡爆`。
    Aaaron
        6
    Aaaron  
    OP
       Mar 15, 2017
    @UnisandK 假设虚拟机没有分交换分区呢?
    rexpower
        7
    rexpower  
       Mar 15, 2017
    两个虚拟机各分 4G 内存,同时运行的话,不见得在这期间,这两个虚拟机都实际占用掉接近 4G 的内存吧,你再在虚拟机里跑跑占内存的任务试一试?
    Aaaron
        8
    Aaaron  
    OP
       Mar 15, 2017
    @rexpower 我还没有尝试,不过虚拟机用去 4G+1G 之后,内存就已经在 95%了。
    UnisandK
        9
    UnisandK  
       Mar 15, 2017
    @Aaaron OOM-Killer 逮个杀个呗
    ys0290
        10
    ys0290  
       Mar 15, 2017 via iPhone
    在限额范围内内存是用多少给多少,一旦跑起来后俩虚拟机都内存满载了,就死机了
    我的 esxi 里面虚拟了一个软路由,我一时疏忽给各个虚拟机分配的内存总和大于物理内存了,结果只要物理内存用满了,就网络瘫痪,软路由重新拨号了
    Aaaron
        11
    Aaaron  
    OP
       Mar 15, 2017
    @rexpower 当然宿主机的应用就会占掉 30%左右的内存(开了 Chrome
    Aaaron
        12
    Aaaron  
    OP
       Mar 15, 2017
    @UnisandK @ys0290 所以目前有两种说法:
    1. 内存高达一定程度时,至少有一个虚拟机会由于内存不足被强行停止;
    2. 物理内存用满之后,死机。
    billlee
        13
    billlee  
       Mar 15, 2017
    ESXi 会给每个虚拟机分配一个和内存同样大小的交换文件,所以用满就会交换。 Workstation 没用过,我就不清楚了。
    loading
        14
    loading  
       Mar 15, 2017 via Android
    有虚拟内存或者 swap ,你忘了吗?
    Aaaron
        15
    Aaaron  
    OP
       Mar 15, 2017
    @loading
    1. 讲道理安装过程中可以不设 Swap 分区;
    2. 「虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存,而实际上它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。」摘自维基百科,所以说由于虚拟内存的存在,由于内存不足被强制停止应该不会发生;
    3. 但是实际使用中,的确有过内存不足, 某个程序无法运行。
    zts1993
        16
    zts1993  
       Mar 15, 2017
    首先操作系统中的内存不是直接对应物理地址,当然虚拟机问题得另外说。

    很多虚拟化软件不会在启动时候强制要求你一定有这么多内存(当然不能太离谱,所以超售是允许的)。
    虚拟化中有超用技术比如 kvm 的 balloon
    还有内存压缩合并 ,比如 kvm 的 KSM
    加上本机操作系统也会用上虚拟内存。。

    所以只会比较卡而已,如果是 ssd 的话会比较稳一点。。
    Aaaron
        17
    Aaaron  
    OP
       Mar 15, 2017
    1. http://hujizhou.blog.51cto.com/514907/1688815 这篇文章也证明了您的观点。所以应该只是影响性能,最后系统也不会卡死。
    2. 但是,内存交换 怎么发生呢
    3. 如果发生了内存交换,不知道回收哪些内存会导致系统卡死吗?
    @zts1993
    zts1993
        18
    zts1993  
       Mar 15, 2017
    @Aaaron 系统最后是有可能卡死的。。卡死:一般来说值得是没有响应或者响应时间特别长比如磁盘忙碌。。

    你的内存空间申请都是向操作系统申请的虚拟内存,虚拟内存到物理内存+交换分区会有一个映射。
    内存快不够的时候会发生内存交换 ,具体激进程度可以配置。
    电脑不存在不知道这个问题,可能刚刚交换到磁盘上但是这个时候又需要读取,也就是又"缺页",然后把数据加载到内存。。

    这样一来一回磁盘占用是很厉害的,比如机械盘这种来回交换会直接卡住,响应时间会非常长,,产生假死的情况。。

    如果这个时候内存使用下降,交换减少,磁盘慢慢响应速度恢复,系统就正常了。。
    如果继续恶化,肯定是越来越卡,最后 bad malloc 程序可能会 crash 掉或者退出
    liantian
        19
    liantian  
       Mar 16, 2017 via Android
    既然你放到 vmware 节点下,那就是不考虑 kvm/hyper-v 吧....

    vmware 的话, esxi 会用 swap , esxi 为每个虚机独立分配 swap 空间,文件名叫 vswp ,在虚拟机目录内,大小和内存大小相等,空间预分配。主机内存不够就会使用这块 swap 。如果服务器本地有 ssd ,而且挂载到 esxi 或者正好是 esxi 的所在分区, swap 会放在 ssd 上。



    workstation 的话,类似,会在虚拟机目录创建 vmem 文件,但不会自动飘到 ssd 里。


    所以俩虚拟机内存都满了会怎样.......会很慢
    xyjincan
        20
    xyjincan  
       Oct 3, 2018
    用完内存后,系统就卡死了,全部完蛋
    About     Help     Advertise     Blog     API     FAQ     Solana     2980 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 144ms UTC 15:00 PVG 23:00 LAX 08:00 JFK 11:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86