KVM虚拟化内存分配


日记


记录一次实验中发生的错误 


KVM:以示警告!!!


宿主主机的messages如下:

Nov 16 10:41:16 CWG kernel: Out of memory: Kill process 31674 (qemu-kvm) score 477 or sacrifice child
Nov 16 10:41:16 CWG kernel: Killed process 31674, UID 107, (qemu-kvm) total-vm:4329848kB, anon-rss:3789216kB, file-rss:96kB
Nov 16 10:41:16 CWG kernel: plugin-containe invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Nov 16 10:41:16 CWG kernel: plugin-containe cpuset=/ mems_allowed=0
Nov 16 10:41:16 CWG kernel: Pid: 22880, comm: plugin-containe Tainted: G        W  ---------------    2.6.32-358.el6.x86_64 #1
Nov 16 10:41:16 CWG kernel: Call Trace:
Nov 16 10:41:16 CWG kernel: [<ffffffff810cb5d1>] ? cpuset_print_task_mems_allowed+0x91/0xb0
Nov 16 10:41:16 CWG kernel: [<ffffffff8111cd10>] ? dump_header+0x90/0x1b0
Nov 16 10:41:16 CWG kernel: [<ffffffff810e91ee>] ? __delayacct_freepages_end+0x2e/0x30
Nov 16 10:41:16 CWG kernel: [<ffffffff8121d0bc>] ? security_real_capable_noaudit+0x3c/0x70
Nov 16 10:41:16 CWG kernel: [<ffffffff8111d192>] ? oom_kill_process+0x82/0x2a0
Nov 16 10:41:16 CWG kernel: [<ffffffff8111d0d1>] ? select_bad_process+0xe1/0x120
Nov 16 10:41:16 CWG kernel: [<ffffffff8111d5d0>] ? out_of_memory+0x220/0x3c0
Nov 16 10:41:16 CWG kernel: [<ffffffff8112c27c>] ? __alloc_pages_nodemask+0x8ac/0x8d0
Nov 16 10:41:16 CWG kernel: [<ffffffff8116087a>] ? alloc_pages_current+0xaa/0x110
Nov 16 10:41:16 CWG kernel: [<ffffffff8111a0f7>] ? __page_cache_alloc+0x87/0x90
Nov 16 10:41:16 CWG kernel: [<ffffffff81119ade>] ? find_get_page+0x1e/0xa0
Nov 16 10:41:16 CWG kernel: [<ffffffff8111b0b7>] ? filemap_fault+0x1a7/0x500
Nov 16 10:41:16 CWG kernel: [<ffffffff811430b4>] ? __do_fault+0x54/0x530
Nov 16 10:41:16 CWG kernel: [<ffffffff81143687>] ? handle_pte_fault+0xf7/0xb50
Nov 16 10:41:16 CWG kernel: [<ffffffff8118b7da>] ? pipe_write+0x31a/0x6a0
Nov 16 10:41:16 CWG kernel: [<ffffffff8114431a>] ? handle_mm_fault+0x23a/0x310
Nov 16 10:41:16 CWG kernel: [<ffffffff810474c9>] ? __do_page_fault+0x139/0x480
Nov 16 10:41:16 CWG kernel: [<ffffffff8151311e>] ? do_page_fault+0x3e/0xa0
Nov 16 10:41:16 CWG kernel: [<ffffffff815104d5>] ? page_fault+0x25/0x30


事情是这样的,我在本配置是8G的内存。

用kvm开了三台虚拟机一台256M,其他两台3.8G,这样加起来8G左右,但是宿主机还将用掉一部分。

一下情况是我将3.8G的两台分别降到3.5G的时候看到的情况:

             total       used       free     shared    buffers     cached
Mem:          7773       7192        581          0          4        178


可见cache和buffers占用并不多,已经使用了7192了,剩余581M这时候还实验还没到使用资源最高的时候。


这个问题告诉我们KVM在设置内存的时候没有检测机制,设置的时候必须按所有的机器业务最大的时候占用资源的情况来分析分配,

否则虚拟机会神不知鬼不觉的down机。


####################################

迷途小运维原创

作者:john

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术,它允许将Linux作为主机操作系统,在其上运行多个虚拟机。KVM使用硬件虚拟化来实现虚拟化,通过将虚拟机直接映射到物理硬件资源上,实现了快速高效的虚拟化KVM在Linux内核中作为模块存在,可以通过加载模块的方式启用KVM虚拟化功能。同时,KVM还支持多种虚拟化方式,包括全虚拟化和半虚拟化,提供了灵活的虚拟化方案。 ### 回答2: KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是一种开源虚拟化技术,它允许在Linux操作系统上创建和管理虚拟机。KVM是一种全虚拟化技术,因此虚拟机可以运行多种操作系统,包括Linux、Windows等。 KVM利用Linux内核的虚拟化扩展(Intel VT或AMD-V)来实现虚拟机的创建和管理。KVM通过创建一个虚拟的物理计算机平台,在该平台上可以运行多个独立的虚拟机。每个虚拟机都有自己的虚拟CPU、内存、硬盘和网络接口等资源。 KVM技术的一个重要特点是它紧密集成于Linux内核,因此它可以利用Linux的强大特性和开发生态系统。KVM可以与Linux内核的其他组件无缝协作,如QEMU(Quick Emulator)用于虚拟机的模拟和设备的模拟。 KVM虚拟化技术提供了很高的性能和可靠性。它可以利用硬件虚拟化技术的优势,减少虚拟机和宿主机之间的性能差距。此外,采用KVM虚拟化的系统可以实现资源的灵活分配和隔离,提高服务器的利用率。 总之,KVM是一种基于Linux内核的开源虚拟化技术,它提供了强大的功能和性能,可以创建和管理多个虚拟机,为企业和个人用户提供了一种高效、可靠的虚拟化解决方案。 ### 回答3: KVM(Kernel-based Virtual Machine)是一种基于Linux内核的开源虚拟化技术。它允许在一个主机上同时运行多个虚拟机,每个虚拟机可以独立运行不同的操作系统和应用程序。 KVM利用了Linux内核的虚拟化扩展,通过将主机的物理资源(例如处理器、内存和存储)划分成多个虚拟资源来创建虚拟环境。每个虚拟机可以访问分配给它的独立资源,并以与实际硬件相似的方式运行操作系统和应用程序。 KVM虚拟化技术基于两个主要组件:1)KVM模块,这是一个核心模块,它通过加载到Linux内核中来增强虚拟化功能;2)QEMU(Quick Emulator),它是一个开源的虚拟机管理程序,用于模拟和管理虚拟机的硬件设备。 KVM虚拟化技术提供了很多优势。首先,它可以实现硬件级别的虚拟化,提供接近原生性能的虚拟机运行环境。其次,由于基于开源技术,KVM本身是免费且具有跨平台兼容性的。此外,KVM支持动态调整虚拟机资源以实现优化和灵活性,并提供了丰富的管理工具和API,便于管理员进行管理和集中控制。 总之,KVM是一种基于Linux内核的强大虚拟化技术,可用于创建和管理多个独立运行的虚拟机,为用户提供了高性能、易管理和灵活性的虚拟化解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值