装配运行多个虚拟机的工作站时,哪两项考虑因素最为重要?
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 。
而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels Desktop ,Vmware,VirtualBox,Virtual pc)不同在于:
虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷。
虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC,它们都能在Windows系统上虚拟出多个计算机。
扩展资料:
虚拟机资源涉及多个方面:CPU、内存、网络以及磁盘。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。
CPU
虚拟机每个vCPU只运行在一个物理核心之上,因此CPU频率越高虚拟机的运行速度也就越高,vCPU数量越多有助于提升应用的性能表现。一个比较复杂的因素就是在ESXi服务器内,所有的虚拟机共享使用物理CPU。ESXi服务器的核心数越多,每个vCPU获得的核心份额也就越大,因此多核心的性能表现要强于核心频率高但数量少的情况。
如果虚拟机需要占用大量的CPU时间,那么可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上vCPU并不一定让应用运行的更快,因为只有多线程应用才能有效地使用多个vCPU。
RAM
ESXi服务器内RAM资源通常有限,因此在给虚拟机分配RAM时需要格外小心。VMkernel在处理RAM时非常巧妙;允许虚拟机使用ESXi服务器所有的物理内存而且会尽量避免占用物理内存却没有真正使用的情况。
物理内存被完全用完后,VMkernel必须确定哪些虚拟机能够保留物理内存,哪些虚拟机要释放物理内存。这称之为“内存回收”。当虚拟机占用的物理内存被回收后,存在的一个风险就是会对虚拟机的性能造成影响。虚拟机被回收的内存越多,相应的风险也就越大。
最明智的是只为虚拟机分配完成工作所需要的内存。分配额外的内存将会增加回收风险。另一方面,当虚拟机操作系统将未被使用的内存用作磁盘缓存时,将会显著降低对磁盘系统的性能要求,所以这里有一个折衷问题。
对于数据库服务器以及VDI桌面来说,为虚拟机分配更多的内存往往更划算—在一台ESXi服务器上运行更少的虚拟机—而不是购买高性能的磁盘阵列。关键在于针对虚拟机的负载分配足够多内存而且没有浪费。
网络带宽
网络带宽包括两个方面:一是虚拟机和虚拟交换机之间的带宽,二是虚拟交换机与外部网络之间的带宽。如果希望虚拟机获得最大带宽那么应该使用VMXNET3网络适配器,VMXNET3在最小的CPU开销下提供了最好的吞吐量。如果情况允许,所有的虚拟机都应该使用VMXNET3网络适配器。
对于与外部物理网络的连接,一定要确保ESXi主机具备速度最快的物理网卡;10Gb是一个不错的选择,即使物理网卡的数量很少,但10Gb能够允许虚拟机承受突发的网络流量。
请记住,进行大量网络传输的虚拟机,虚拟机以及数据包的传输都会消耗CPU时间。因此,运行在CPU受限的ESXi服务器之上的虚拟机由于CPU无法快速响应请求可能会面临网络吞吐量不高的情况。
-虚拟机
“内存并不一定总是快”
Linux 中内存主要有匿名内存和 Page Cache 两种。
Linux操作系统内存管理策略是会尽可能的利用内存来做各种缓存,所以一般来说服务器所谓的free内存都会较少,当应用alloc申请内存的时候,如果free内存不足就会引发内存回收,这就是所谓的PageFault缺页,这时候系统会先使用异步方式的后台回收来提高应用申请内存这个操作的响应速度。但是如果应用申请内存的速度大于系统后台回收的速度的话,就会进入所谓直接回收(Direct Reclaim)模式,这是一个同步的过程,应用会自旋等待内存回收完毕,产生比较大的延迟。见下图:
另一方面,内核会回收匿名内存页,并将其置换到磁盘里(这是Linux所谓虚拟内存的管理方式,磁盘上的这部分用来跟内存做交换的空间称为swap空间),匿名内存页一旦被换出然后再次被访问的时候,就会产生文件IO了(要从swap空间里把页加载回内存里),这也会导致比较大的延迟。见下图:
vmextra_free_kbytes 和 vmswappiness 两个内核参数可以针对PageFault和SwapOut两种内存访问延迟做调优。mlock 系统调用可以让应用程序“锁定”一块内存空间而不被内核swap出去。
万亿级数据洪峰下的分布式消息引擎-InfoQ
后记:
这篇小文来自于学习RocketMQ开发团队的技术分享文章(见参考),里边的“内存没那么快”观点笔者认为更确切说法应该是“内存并不总是那么快”,里边的Linux内存管理的一小段说明加深了笔者对之前了解的概念的理解,这些东西可能平时工作未必有什么用,但了解底层的东西总是会让人产生求知求所得的愉悦感受。看了阿里褚霸的个人背景简介,“14年c开发经验, 12年网络开发经验, 3年Linux内核开发”,他也遇到过“底层 IO(Input/Output) 技术。IO 技术涉及面非常广,驱动,块设备,文件系统,内存关系等等” ,做专家终归是要走入底层,到最后考验的是对系统、对计算机的理解。本文很水,而脚下这条路不知能走多远,但是想想不为什么就算只为求知的喜悦我也是愿意走下去的啊。这也是我为什么要建“系统底层”这个专题
主板:分为家用和军用(服务器)家用主板电压较小主板面积较小只有硬盘接口和内存条接口以及CPU接口其他另算而军用主板特别的大用处理频率可以达到100ghz接口繁多光CPU接口就有几个或者几十个甚至几百个。
内存条:家用最高才16g开个双通道32g为目前最好的一个内存条频率才1666MB而服务器则有1024g一条的可以插十条不止使用频率特别高。再就是服务器不接显示器
不会。内存和硬盘是两种不同的配件。内存上的数据一关机就会消失,它不存储长期数据。因此,如果只是更换了内存而不是硬盘,那么原来的数据并不会被保留。在更换内存条时,确保选择了与电脑兼容的内存条。频率、型号和容量都与原装内存条相匹配。如果打算出售或回收电脑,最好清除所有的个人数据,并确保操作系统和应用程序都已完全卸载。
0条评论