什么是在ESXi内部运行的强制性Linux内核模块

我习惯于将自己的内核滚动到服务器上,因为它很好地减less了利用漏洞(以及由此产生的补丁)的数量。

在传统(裸机)的世界里,整个过程就是要知道你有什么(硬件),以及你需要什么(以太网,IPv4,iptables等)。在虚拟环境中,有些东西保持不变(仍然需要以太网和IPv4),有些东西就会消失(电源pipe理),然后出现一些新的需求(vxnet3或者vmware-tools,即使它是在内核之外编译的)。

所以我的问题主要关注最后两类:我可以完全删除什么,我想要什么新的东西?

例如,如果我所有的磁盘操作都通过另一个文件系统/调度程序/caching进入虚拟磁盘,那么我需要哪个IO调度程序? 我是否需要启用超线程,或者VM是否会将它显示给我,无论如何都是CPU? 我是否需要开启大容量接收卸载function,或者虚拟机pipe理程序的networking驱动程序会为我做些什么?

我订阅了以前的所有评论,并增加了以下内容。 大部分性能调整是在ESXi Guest上完成的.vmx文件。 另外,您可以添加到networking接口的任何调整(例如:缓冲区大小,LRO等)都会提高Guest虚拟机的性能。 您还可以查看ESXi的半虚拟化function。

VMWare有一个很好的文档,提供了性能调整的最佳实践。 您可以在这里find“性能优化最佳实践”本文还将帮助您了解ESXi中的低级别虚拟化如何工作,并可能让您了解您可以在客户操作系统(包括内核)上禁用/启用哪些function,

HTH,

通常我不会自定义我的VMWare虚拟机中的内核 – 它们与物理系统足够相似,额外的定制并不值得。恕我直言,我只是把它们当作物理机器来对待。

也就是说,虽然我不确定调度程序,但是您可以清除所有不必要的硬件支持以释放一些额外的RAM等,而@ Chopper3build议使用虚拟硬件的VMTools驱动程序。

所有这些说我不知道​​什么样的优化,其他人可以调整,但我一定感兴趣,而很多“硬件”的东西是由pipe理程序(例如LRO)处理我从来没有读过详细说明了LRO在客人身上的效果,这可能会对性能产生影响。