虚拟机与容器性能比较

现在容器的概念在云计算领域越来越热,我根据资料,汇总了下虚拟机与容器性能的比较。


参数


虚拟机


容器


客户机系统


每个虚拟机都会有自己的虚拟硬件,都会在自己的内存中加载内核


所有的客户机系统共享系统和内核,内核镜像是加载在物理内存中的


通信


通过网卡设备


使用标准IPC机制,例如信号,管道,套接字等


安全性


取决于虚拟机的安全性


使用的是强制的分层访问控制


性能


取决于虚拟机指令转换成物理机指令的性能


几乎是提供与底层物理机一样的性能


隔离性


虚拟机之间共享库、文件等,但不与物理机共享


都能互相访问


开机时间


每个虚拟机启动都需要几分钟的时间


可在几秒内完成启动


存储


需要更多的存储,要存放系统


由于操作系统是共享的,所以需要的存储很少

时间: 2024-10-11 12:54:22

虚拟机与容器性能比较的相关文章

选择虚拟机还是容器?-【软件和信息服务】2014.09

最近业内有人在探讨一个趋势-"虚拟机:永远的光荣还是垂死挣扎呢?"这个探讨主要源于Docker公司和Linux容器(Container)的探讨.很多人疑惑到底是否容器技术终将取代虚拟机技术.可能你也听说了Linux容器技术,但并非每个人都花时间研究了容器技术的来龙去脉,这不是一条140字的微博能够说清的,因此先分享一点背景知识. 关于容器技术 容器技术提供了操作系统级的进程隔离,类似于硬件的虚拟化技术,这也是为什么现在会有人提出容器技术将取代虚拟机技术的主要原因.当然,容器技术还是不同

深入理解虚拟机、容器和Hyper技术

本文首先介绍了操作系统,然后引出容器技术以及虚拟机技术,最后介绍了Docker和Hyper技术.通过本文可以清楚地对三者有感性认识. 操作系统概述 我们可以把操作系统简化为: 操作系统 = 内核 + apps 其中内核负责管理底层硬件资源,包括CPU.内存.IO设备等,并向上为apps提供系统调用接口,上层apps应用必须通过系统调用方式使用硬件资源,通常并不能直接访问资源.这里的apps指的是用户接口,比如shell.gui.services.包管理工具等(linux的图形界面也是作为可选应用

深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)视频教程

14套java精品高级架构课,缓存架构,深入Jvm虚拟机,全文检索Elasticsearch,Dubbo分布式Restful 服务,并发原理编程,SpringBoot,SpringCloud,RocketMQ中间件,Mysql分布式集群,服务架构,运 维架构视频教程 14套精品课程介绍: 1.14套精 品是最新整理的课程,都是当下最火的技术,最火的课程,也是全网课程的精品: 2.14套资 源包含:全套完整高清视频.完整源码.配套文档: 3.知识也 是需要投资的,有投入才会有产出(保证投入产出比是

虚拟机 操作系统 容器

虚拟机  操作系统  容器,是 一个 层面 的 技术.也可以说,是 一种性质 的 技术. 虚拟机 的 实现原理,我推测 是   虚拟机壳(引导程序 管理程序) +    操作系统 内核 修改 容器 则 是 操作系统 内核 修改 原文地址:https://www.cnblogs.com/KSongKing/p/9131331.html

centos8环境判断当前操作系统是否虚拟机或容器

一,阿里云ECS的centos环境 1,执行systemd-detect-virt [[email protected] ~]# systemd-detect-virt kvm 说明阿里云的ecs是在一个kvm环境中运行 2,看dmidecode的system信息也行 [[email protected] ~]# dmidecode -t system # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. Hand

c++11——改进容器性能

使用emplace_back就地构造 emplace_back能就地通过参数构造对象,不需要拷贝或者移动内存,相比push_back能更好的避免内存的拷贝和移动,使得容器插入元素的性能得到进一步提升.在大多数情况下应该优先使用emplace_back来代替push_back.     所有的标准库容器(array除外,因为它长度不可改变,不能插入元素)都增加了类似的方法:emplace, emplace_hint, emplace_front, emplace_after, emplace_ba

虚拟机和容器docker

云计算中最主要的技术就是虚拟机,开源虚拟机已经kvm已经集成到Linux内核!针对虚拟机浪费资源(CPU.内存.存储等)较大的缺陷,google力推Docker容器和容器管理平台Kubernetes. KVM:就是Keyboard Video Mouse的缩写.KVM 交换机通过直接连接键盘.视频和鼠标 (KVM) 端口,让您能够访问和控制计算机.KVM 提供真正的主板级别访问,并支持多平台服务器和串行设备.(我在机房看到过...)百科 1)虚拟机 通过软件把一台计算机虚拟出好多台计算机,每台虚

Java多线程 -- Map容器性能比较

单线程 单线程环境下可以使用HashMap和TreeMap.TreeMap上遍历返回结果是按照Key排序的. 测试方法 记录写入Map中N条记录的时间,单位毫秒. 记录从N条记录的Map中读取10W条记录的时间,单位毫秒. N=25W,50W,75W,100W 测试结果 写N条记录 25W  50W  75W  100W HashMap 28 49 72 92 TreeMap 131 321 527 748 N条记录中读10W数据 25W  50W  75W  100W HashMap 4 5

深入理解JAVA虚拟机之JVM性能篇---基础知识点

一.堆与栈 堆和栈是程序运行的关键,其间的关系有必要理清楚,两者如下图所示: 1. 堆: 所有线程共享,堆中只负责存储对象信息. 2. 栈: 在Java中每个线程都会有一个相应的线程栈与之对应(因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈),栈是运行单位,因此里面存储的信息都是跟当前线程(或程序)相关的信息,包括局部变量.程序运行状态.方法返回值等; 3. 总结: 栈是运行时的单位,而堆是存储的单位. 二.JAVA对象的大小 在Java中,一个空Object对象的大小是8byte,这