虚拟化SQL Server:为什么不呢?
我工作的IT部门正在尝试转移到100%虚拟化服务器,所有数据存储在SAN上.他们尚未完成,但是该计划最终也要求将现有的物理SQL Server机器也移至虚拟服务器. 几个月前,我参加了这里的英雄,在这里发射事件,在SQL Server Sessions之一中,演讲者在传递中提到的是对生产系统的好主意. 所以我正在寻找几件事: 这是一个好主意或不是一个好主意的具体原因?我需要参考,或者不打扰回应.我可以通过Google独自提出模糊的" I/O绑定"回应. 仅HHH发言人的回忆可能不会说服我们的IT部门改变主意.谁能将我直接指向更具权威性的东西?通过"直接",我的意思是更具体的东西,而不是含糊的书籍在线评论.请稍微缩小一点. 解决方案 我可以从个人经验中说这句话,因为我在说话时正在处理这个问题.我目前担任承包商的地方为其SQL Server开发系统具有这种环境.我正在尝试开发一个相当谦虚的B.I.在这种环境上的系统,并真正在绩效问题上挣扎. TLB错过并模仿
6 2023-05-23
编程技术问答社区
WPF ListView 虚拟化分组
有人知道启用分组时支持UI虚拟化的listView实现吗?默认情况下,在设置分组时,虚拟化stackpanel被禁用. 似乎Microsoft不会在.NET框架的V4.0中实现此目标,因此我正在寻找替代解决方案. 解决方案 我在分组和虚拟机代码示例将分组的ListView转换为支持虚拟化的平面列表.但是,我无法弄清楚如何模仿标头的扩展动作. 其他解决方案 wpf/.net 4.5现在支持此如果您仍在定位4.0,则可以对其进行反思设置,以便至少有些用户可以获得好处. 其他解决方案 一个选项是看一个Bea Stollniz关于改善树景的性能的系列: part 1 ,第2部分和
10 2023-05-23
编程技术问答社区
放慢CPU,以模拟浏览器测试中的较慢的计算机
我正在尝试查看我们的网页在普通客户的计算机上的行为.我们尚未固定这种配置,但是它可能比开发人员和测试人员所拥有的要慢. 我已经看到了类似问题的答案,这些问题表明节流带宽并使用内存有限的VM,但是我还需要减慢CPU的速度吗?我的印象是,即使在VM中,CPU也将相当接近全速运行.是否有虚拟机平台可以限制CPU周期?我看到一个建议运行诸如折叠 @ home之类的建议,但我欢迎其他建议来节省CPU速度. 我已经看过这个问题:如何减速浏览器以及谈论限制带宽的其他人. 编辑:我想我还需要担心VM也可以使用多少个内核/处理器.大多数VM平台是否可以选择限制此? 解决方案 在运行远景或更好的多核系统中,您可以设置CPU亲和力,强迫浏览器仅在单个核心上运行 例如 c:\windows\system32\cmd.exe /C start /affinity 1 notepad.exe 如今,大多数机器上的单个核心并不比几代人更快.也就是说,您会发现,由于架构的变化,
6 2023-05-23
编程技术问答社区
WPF数据虚拟化的列表视图
在我们当前的Winforms应用程序中,我们使用虚拟化在ListView中显示了数百万个记录.按要求从数据库加载行.这效果很好,表现良好. 这是为我们迁移到WPF的展示器.我们需要列表视图中的数据虚拟化,例如Winforms 2.0具有. 您知道一个不错的第三方控制还是使用内置控件进行相对简单的方法?它不需要是数据杂志,简单的listView就足够了. 请注意,我注意在谈论UI虚拟化,这是数据虚拟化. 解决方案 文章其他解决方案 xceed datagrid for wpf 具有数据虚拟化支持. 其他解决方案 这是 wpf from xceed: 的终极列表框的描述 智能虚拟化背景数据检索: 自动数据检索仅在远程数据源(数据虚拟化)时才从远程数据源获取记录.这大大减少了要传输的数据量,从而增加了列表框的感知速度.还减少了服务器上的压力.
2 2023-05-23
编程技术问答社区
上下文切换的开销是什么?
最初,我相信上下文开关的开销是TLB被冲洗.但是我刚刚在Wikipedia上看到: http://en.wikipedia.org/wiki/wiki/wiki/translation/translation_lookaside_lookaside_buffer 在2008年,英特尔(Nehalem)[18]和AMD(SVM)[19]都介绍了 标签作为TLB条目的一部分和专用硬件,以检查 在查找过程中标记.即使这些不是完全利用的,也是 设想,将来,这些标签将确定地址 每个TLB条目都属于的空间. 因此,上下文开关不会 导致TLB的冲洗 - 但只需更改标签 当前的地址空间可用于新任务的地址空间的标签. 上述较新的Intel CPU是否确认了TLB在上下文开关上不会冲洗? 这是否意味着现在没有真正的开销? (我试图了解上下文开关的绩效惩罚) 解决方案 正如Wikipedia所知在其上下文开关中是存储和恢复过程的状态(上下文)的过程,以便可以在以后从同一点
0 2023-05-23
编程技术问答社区
WPF虚拟stackpanel可提高性能
我想对如何实现ItemsControl的虚拟化stackpanel的简单描述,该ItemsControl是我的mvvm中ObservableCollection的数据. i在选项卡控件中的每个选项卡中都有一个ItemsControl实例,并且当ItemsControl生长更大时,切换选项卡变得非常慢. 我该怎么做才能加快应用程序? 我打开了一个WPF profiler,发现每个选项卡的我的ItemScontrol中显示的每个元素(这是自定义用户控件)都有其自己的ContentPresenter.因此,我从本质上有100个内容主持人在MVVM中的ObservableCollection中都有100个项目.这是纠正的吗?如何优化? 解决方案 有两种技术可能有很大的帮助. Bea Stolnitz在她的第一个是 第二个是在UI虚拟化中,您使用virtualizingStackPanel之类的东西使UI少了. 数据虚拟化确保您在只显示100时不会将一百万个对象带入
0 2023-05-23
编程技术问答社区
Linux中所有分页结构的物理地址是否会被映射在页表中?
在64位Linux中,IA-32E paging使用4个级别的分页结构(PML4/PDPT/PD/PT).前三个结构中的条目给出了相应的下一个结构的物理地址.我的问题是否将所有这些分页结构的物理地址映射在分页表中?如果它们是映射的,则在哪种模式(User/Supervisor)?非常感谢! 我捕获了一些在KVM期间访问的特定内存地址.这些地址在gfn(访客物理框架号)表单中.我想知道这些gfns是在内核还是用户空间中映射的.因此,我遍历了来宾的(虚拟机)分页表,以找出相应的页面表条目映射到这些gfns.请参阅我以前的问题在这里. 我发现,某些分页结构的物理地址映射在分页表中,而有些则不是.也就是说,某些分页结构的物理地址(例如PDE给出的PT的地址)在页面表中没有有效的相应PTE.由于我经常更改了KVM的内存机制,因此恐怕也许这种现象是由我的代码引起的,或者我的页面浏览代码有问题. 所以我想在普通的Linux中知道这些东西如何处理. 非常感谢! 解决方案 在6
4 2023-05-16
编程技术问答社区
如何在C语言中从一个新的虚拟页中分配内存?
我正在分析虚拟页面分配的效果,同时创建一个尺寸pagesize x papeSize的二维数组.我的机器的页面大小为4096.我有一个4096个整数指针(列),指向4096个整数(行). 我想在新虚拟页面上开始为第一个整数指针的分配.如何确定当前内存位置是否是新页面? 有一次,我已经确定了这一点,我相信我可以写一些垃圾值,并将指针移至新的虚拟页面. 这就是我分配数组的方式. array = malloc(ncolumns * sizeof(int *)); for(j = 0; j
6 2023-05-16
编程技术问答社区
x86指令是否需要自己的编码以及所有的参数同时出现在内存中?
我试图弄清楚是否可以运行一个Linux VM,其RAM仅由单个物理页面支持. 为了模拟这一点,我修改了KVM中的嵌套页面故障处理程序以删除 目前来自所有嵌套页表(NPT)条目的位, 除了对应于当前处理的页面故障的一个. 尝试启动Linux访客时,我观察到使用内存操作数的汇编指令,例如 add [rbp+0x820DDA], ebp 导致页面故障循环,直到我还原包含的页面的当前位 指令以及操作数中引用的页面(在此示例[rbp+0x820DDA]中). 我想知道为什么是这种情况. CPU是否应该顺序访问内存页面,即首先阅读指令然后访问内存操作数? 还是x86要求同时访问指令页以及所有操作数页? 我正在AMD ZEN1. 上测试 解决方案 是的,他们确实需要机器代码和所有内存操作数. CPU不应该顺序访问内存页面,即先阅读指令然后访问内存操作数? 是的,从逻辑上讲,发生了什么,但是页面错误异常中断了2步流程并丢弃任何进度. CPU无法记住发生
0 2023-05-16
编程技术问答社区
如何使虚拟环境中的脚本的入口点在整个系统中可用?
我正在使用setuptools用于python包装,其中定义控制台脚本输入指向setup.py文件中的通常方式: setup.py # -*- coding: utf-8 -*- from setuptools import setup, find_packages setup(... name='my_project', entry_points={'console_scripts':['my_entry_name=my_package.scripts.my_python_script:main' ]}, ... ) 安装软件包后,我可以从这样的批处理文件调用此输入点: my_current_batch_file.command #!/bin/bash cd "$(dirname "$0")" # set the working directo
0 2023-05-16
编程技术问答社区
Windows phone 8.1 为自定义可变大小的网格视图实现虚拟化
我已经实现了用于GridView的自定义ItemPanel,以使用此链接 jerrynixon.my自定义面板支持3个不同尺寸的模板(取决于图像维度,我决定使用哪种模板).此自定义GridView应该具有分页,并且应该支持200多个项目.目前,我只能加载50个项目,并且由于 1GB设备中的内存异常事件中的出现,它崩溃了.它是OUT项目的要求之一.我知道当我们实现自定义项目范围时,它会损失默认虚拟化. 我已经检查了 pin.it app.他们已经实现了可变大小的GridView模板,并且性能非常好,我可以加载200多个项目. 有什么办法可以为我的自定义项目面板实施虚拟化?我不知道我们如何实施虚拟化.如果有人实施了虚拟化,请给我们一些想法,以便如何开始,以便对我们有很大帮助. 我认为不需要包裹代码才能发布.如果需要,我会发布它. 请给出一些建议.这将非常有帮助:).谢谢:) 解决方案 最后,我们通过引用其他解决方案 要克服内存异常,只需减少图像的像素宽度,您
特权指令、陷阱和系统调用之间的关系
我试图了解虚拟机监视器(VMM)如何虚拟化CPU. 我现在的理解是,当CPU处于用户模式时即将执行特权指令时,CPU会发出保护故障中断.在诸如C之类的高级语言中,特权说明被包装在系统调用中.例如,当应用程序需要当前日期和时间(与I/O设备相互作用的说明具有特权)时,它将调用某个库功能.此库函数的组装版本包含一个称为" int"的指令,该指令导致CPU中的陷阱. CPU从用户模式转换为特权模式,然后跳到OS提供的陷阱处理程序.每个系统调用都有自己的陷阱处理程序.在此示例中,陷阱处理程序从硬件时钟读取日期和时间,然后CPU从特权转换为用户模式. (来源:/030syscalls.html ) 但是,我不太确定这种理解是正确的.本文提到了(特权)x86 popf指令不会引起陷阱的概念,因此使vmm的事物复杂化: http://www.csd.uwo.ca/courses/cs843a/papers/intro-vm.pdf .在我的理解中 所以我的两个具体问题是: 当用户程
6 2023-05-11
编程技术问答社区
虚拟内存和物理内存之间有什么区别?
我经常与操作系统虚拟化的概念相混淆.将RAM视为物理内存,为什么我们需要虚拟内存来执行过程? 当从外部硬盘驱动器带到执行的主要内存(物理内存)时,此虚拟内存位于何处. 谁照顾虚拟内存?虚拟内存的大小是多少? 假设如果RAM的大小为4GB(即2^32-1地址空间)虚拟内存的大小是多少? 解决方案 虚拟内存是一个抽象,使程序员在系统上提供无限内存的幻觉. 虚拟内存映射与实际的物理地址相对应. 操作系统创建并处理这些映射 - 使用页面表以及其他数据结构来维护映射.虚拟内存映射总是在页面表或一些类似的数据结构中找到(如果其他实现虚拟内存,我们也许不应该称其为"页面表").页面表也在物理内存中 - 通常在内核保留的空间中无法写入. 虚拟内存通常大于物理内存 - 如果虚拟内存和物理内存相同,则没有太多的虚拟内存映射理由. 只有程序的所需部分居住在内存中,通常是一个称为"分页"的主题.虚拟记忆和分页密切相关,但不是同一主题.虚拟内存还有其他实现,例如分割.
10 2023-05-11
编程技术问答社区
为 "家庭开发云 "推荐设置?我想在一个旧台式机上运行虚拟机。
我在笔记本电脑上开发,通常使用Vagrant在笔记本电脑上的VirtualBox上旋转VM.我正在尝试找出一种将这些VM运行在旧物理机器上的方法 理想情况下,VM可以直接在我的家庭网络上访问(并有可能打开互联网) 尽管我不是流浪者的专家,但我希望能够保持流动 - provider = whting,并让VM在我的"开发服务器"上旋转 我希望能够制作快照和虚拟盒/VMware提供的所有神奇物品 似乎尽可能少的主机操作系统会很聪明.管理程序? 我很乐意这样做,而不是需要大量照顾和喂养的东西 我什至不确定需要研究/弄清楚哪些类型的事情才能起作用.我尝试浏览OpenStack(DevStack.org)的安装过程,但是即使它起作用,它似乎并没有给我所有需要的东西(快照?) 这里有建议的设置吗?我什至需要进行哪种软件进行重新搜索? 解决方案 查看VMware操控器. 在几乎所有内容上安装,是企业级基础架构的骨干. 它使您能够获得私有/互联网访问权限(取决于您如何
6 2023-05-11
编程技术问答社区
虚拟化和私有云计算之间的区别
我与虚拟化和私有云计算相混淆.他们服务什么?他们的目的?可以将它们组合在一起,以便我们在私有云上构建虚拟服务器? 据我了解,云计算包含IaaS(基础架构作为服务)的想法.换句话说,我可以从最少数量的裸金属服务器开始,并根据需求进行扩展,这些服务器通过分隔的计算和数据存储将其整合到一台大型机器中. 说,我们可以在私有云上建立虚拟化吗?例如,我可能会购买10个服务器(尤其是OpenCompute Project中的服务器),使用OpenStack将它们粘合在一起,并使用Xen或KVM来创建虚拟化服务器.那可能吗?这是理想的吗? 请我指向右绝地学校. 解决方案 云专门指网络图中云图标的古老用法,以表示外部或未定义的资源.该术语的起源是指将网络基础架构的组件放置在您自己的环境之外……因此,将网络图中的一个云放在之一.如今,该术语已经逐渐涵盖了许多不同的想法,并且在很大程度上受到竞争定义的污染. iaaS/paaS/saaS/lbaas/etc etc 这些都
0 2023-05-11
编程技术问答社区
在WinRT中与ItemsControl绑定的ObservableCollection中虚拟/分页数据
我们如何在观测值collection或列表中可视化数据,该数据设置为ItemScontrol的项目库? 由于某些技术原因(设计约束),我们在滚动浏览器中使用itemScontrol来进行自定义集合控件,因此我们无法使用ListView或GridView控件,该控件支持支持虚拟化stackpanel和通过Isupportincremental,因此我们必须在Scrollviewer中使用Inepscontrol, . 因此 我在随机访问数据虚拟化上找到了一些信息,但不确定我将如何在WinRT,C#自定义控制项目中实现,示例代码将有用 解决方案 如果您正在实现自定义列表控件(如果您不使用ListView,GridView或ListBox)模板,因此您可以收听其ViewChanging和ViewChanged事件,这些事件具有 IsInertial 和 IsIndeterminate IsIndeterminate 您可以使用的属性来查看滚动是否已停止,您可能会使用这些属性来决定是否有
2 2023-05-07
编程技术问答社区
在ubuntu的docker中支持nvidia驱动程序,从主机窗口-'发现你的系统中没有nvidia驱动程序'错误
我已经构建了一个docker映像:ubuntu20.04 + py38 +火炬,各种libs(llvmlite,cuda,pyyaml等) +我的烧瓶应用程序.该应用程序使用火炬,它需要容器内的NVIDIA驱动程序.主机是Win10 x64. 运行容器并使用Postman进行测试时,出现错误: AssertionError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx // Werkzeug Debugger 在我的机器上,nvidia-smi是: +---------------------------------
16 2023-05-02
编程技术问答社区
虚拟机的虚拟网络
我正在开发旨在在LAN上运行的软件.当该软件的多个实例在网络上运行时,它们会相互干扰. 我希望多个团队成员能够同时测试程序.我该怎么做(不更改程序). 我的第一个想法是创建一堆在本地盒子上运行的虚拟机,这些机器将这些机器联网在一起.重要的是我无法在真实机器之外生成网络流量. 哪种虚拟化软件将是完成此任务的最佳选择?我将如何配置软件以这种方式行事? 解决方案 就我个人而言,我喜欢对于配置软件,就计算机而言,它们是真实的.如果将它们分配给它们静态IP,它们也可能是真实的机器 - 尽管您会发现更容易通过远程桌面管理它们,而不是使用VMware Console接口. 编辑:我实际上在生产环境中使用VMware服务器,在同一物理盒上运行虚拟网络服务器,虚拟DB服务器和虚拟应用服务器. VMware还带有一个很棒的转换器工具,该工具可以虚拟化物理机器.这使我更简单地将三台物理机器的服务器巩固和维护到一台. 编辑2:也是免费的;) 其他解决方案 我建议用户
24 2023-04-21
编程技术问答社区
仅主机连接NetBSD到Windows
我在Windows上安装了NetBSD-4.0.1-X68K作为访客虚拟机(使用Windows 7的XM6I 68030仿真器).我正在尝试在NetBSD来宾上设置仅主机连接.但是,除非我跑步,否则我不能从主持人那里ping来宾: tcpdump -i ne0 #executed on guest ping 192.168.2.17 #executed on host ping 192.168.2.1 #executed on guest 按照该顺序运行这些命令后,我可以继续成功地ping ...但不是永远,在某个点之后,我无法再次从主机和客人那里再次ping.另外,当我重新启动系统时,除非事先进行上述过程,否则我仍然只能做ping,而不是永远. 无论如何,我可以在不使用TCPDUMP作为短期临时障碍的情况下设置此主机连接吗? 解决方案 我在最新版本的XM6i上发表了.为了获得完整的68030网络仿真,您需要在启动时使用tcpdump命令.所以没有办法解决这个问题
62 2023-04-21
编程技术问答社区
连接Docker容器和本地主机的最简单方法
我想知道是否可以从Docker容器上连接到本地主机上的应用程序. 我运行了两个通过link选项相互连接的Docker容器.但是如何将其中一个容器连接到本地主机? 解决方案 是的,使用docker run --network=container: - 网络='容器:':重复使用另一个容器的网络堆栈 这让您从另一个容器运行一个集装箱,该容器共享相同的网络接口(然后是localhost). 另外,您可以使用host模式为您的容器提供主机具有的网络IP(包括Localhost). docker run --network=host: - 网络='主机':使用docker主机网络堆栈 docs: https://docs.docks.docker.com/engine/参考/run/#名称 其他解决方案 我认为这是可能的. 尝试与主机的 通信 ip :使用ip addr或类似的东西以获取eth0,
2 2023-04-21
编程技术问答社区