是否有任何方法可以让.NET应用程序创建,删除,启动和停止Hyper-V虚拟机?
我想创建一个从C#应用程序启动和停止(创建和删除是奖励)虚拟机的自动方法.我认为(至少)会有通过P/Invoke这样做的方法,但我找不到任何讨论如何做到这一点.
一些优秀的演练或文档的任何链接都是可取的.
test.php为纯文本:
<?php
$x = "a";
echo $x;
Run Code Online (Sandbox Code Playgroud)
test.php作为操作码:
debian:~ php -d vld.active=1 -d vld.execute=0 -f test.php
Finding entry points
Branch analysis from position: 0
Return found
filename: /root/test.php
function name: (null)
number of ops: 5
compiled vars: !0 = $x
line # * op fetch ext return operands
---------------------------------------------------------------------------------
2 0 > EXT_STMT
1 ASSIGN !0, 'a'
3 2 EXT_STMT
3 ECHO !0
4 4 > RETURN 1
branch: # 0; line: 2- 4; sop: 0; eop: 4
path #1: …Run Code Online (Sandbox Code Playgroud) 你将不得不原谅相当大的代码块,但我相信这是对我的问题的近乎最小的再现.问题不是孤立的,example.com而是持续存在于许多其他网站上.
如果我有4个线程主动发出网络请求,curl工作100%罚款.
如果我再添加一个线程,该线程需要大约10倍的时间来执行.我觉得我必须错过一些明显的东西,但它现在逃脱了我.
更新更多信息:这些测试位于虚拟机中.与机器可用的内核数量无关,其中四个请求需要大约100毫秒,其余请求大约需要5500毫秒.
更新2:实际上,我在一个方面是错的,它并不总是4/ n-4分布 - 当我改为4核心时,有时我得到一个不同的结果分布(在1核上运行至少看起来相对一致) - 这里是一个当线程在4核VM上运行时返回其延迟(ms)而不是其http代码时的结果片段:
191 191
198 198 167
209 208 202 208
215 207 214 209 209
5650 213 5649 222 193 207
206 201 164 205 201 201 205
5679 5678 5666 5678 216 173 205 175
5691 212 179 206 5685 5688 211 5691 5680
5681 199 210 5678 5663 213 5679 212 5666 428
Run Code Online (Sandbox Code Playgroud)
更新3:我从头开始构建curl和openssl,删除锁定(因为openssl 1.1.0g不需要它)并且问题仍然存在.(通过以下方式进行的完整性检查/验证):
std::cout << …Run Code Online (Sandbox Code Playgroud) 我正在努力加快编译我的应用程序所花费的时间,而我正在调查的一件事是检查哪些资源,如果有的话,我可以添加到构建机器以加快速度.为此,我如何确定是否应该投入更多的CPU,更多的RAM,更好的硬盘或者该进程是否受到其他资源的约束?我已经看到了这个(如何检查应用程序是cpu绑定还是内存绑定?)并且我正在寻找更多提示和指针.
到目前为止我尝试过的:
在构建计算机上与本地计算机上的进程计时.我发现构建机器需要的时间是我的机器的两倍.
运行"资源监视器"并查看进程运行时的CPU使用率,内存使用情况和磁盘使用情况 - 在执行此操作时,我无法解释数字,主要是因为我不明白每个列的含义以及转换为虚拟机与物理盒以及多CPU盒的含义.
windows performance resources performancecounter virtual-machine
我在Windows上,我有最新版本的OS X(10.7.4)在VMware Workstation上作为虚拟机运行.一切都很完美,包括最新版本的Xcode.事情非常顺利,不像人们想象的那样,几乎没有缓慢的行为.我发现通过两个操作系统上安装的所有软件的综合功能,项目的效率非常高,可以通过VMware的共享文件夹进行通信.iOS设备通过USB连接到虚拟机的iTunes和Xcode就好了,就像真正的Mac一样.(但是,虚拟机的几乎所有(虚拟)设备的名称中都包含"VMware",如果Xcode在安装或应用程序提交期间收集并报告机器统计信息,那么在Apple眼中VM就不那么真实了.无论如何,即使Xcode可能怀疑它处于"外星人"环境中,它到目前为止还没有显示出它的单一迹象并且完全正常工作)
而且,随着参与Apple开发者计划的时间即将到来,我想我是否真的必须将开发预算缩减1000美元至1500美元左右才能购买苹果希望我这样做的物理Mac.这是一笔可观的金额,我宁愿将它们保存为更有用的东西.我真的想避免购买.(联合国)幸运的是,正如史蒂夫乔布斯的名言所暗示的那样,人们会购买Mac来舔他们的时代已经结束了.
所以,我的问题是:
有没有人听说过或者在虚拟OS X机器上经历过富有成效的iOS应用程序开发,这意味着要获得在该VM上运行的Xcode使用的iOS应用程序签名证书,并实际从VM向App Store提交应用程序?
即使这样的事情在技术上是可行的,在注册Apple的开发人员计划时我是否必须同意在许可协议中的任何地方埋下任何法律障碍?(啊,有事告诉我有......)
我在Azure虚拟机上创建了一个Ubuntu Linux服务器.
我使用"快速创建"代替图库并输入密码,但没有选择用户名(不是选项).现在我要使用密码和"root"来SSH到我的服务器,它说 - 访问被拒绝.
哪个用户是由"快速创建"向导创建的?
谢谢,Aviad
我们假设我创建了一个Azure虚拟机.最初说一个小的.
后来我决定这台机器的性能没有削减它.我想升级到更强大的机器.
鉴于我已经完全配置了这台机器以我需要的方式工作,如何快速\轻松升级,所以说中型机器?
我有一个谷歌计算引擎VM,运行ubuntu,并使用Laravel Forge.
在访问SSH几次(2-4)后,我似乎被VM阻止了,即使我正在正确登录.重新启动VM会解锁我.
我第一次注意到这个问题,因为我在登录SSH时遇到了麻烦,经过几次尝试后它就无法访问.托管在我网站上的网站也无法解决.重新启动虚拟机后,我可以尝试再次登录ssh,我的网站可以运行.在我弄清楚如何使用SSH正确登录之前,这发生了几次.
接下来,尝试使用使用plink的HeidiSQL登录数据库,我登录正常.但是每次我做某事时似乎都会通过SSH重新连接,并且在重新连接2-4次后,我遇到了同样的问题,因为SSH无法访问虚拟机,而我托管的网站正在关闭.
使用SQLyog,它似乎维持一个SSH连接,而不是像HeidiSQL一样不断重新连接,我没有问题.
当我的网站关闭时,我使用那些"为每个人或只是我"网站查看它是否已关闭,显然它只是对我来说,所以我必须被阻止.
所以我想我的问题是:1.这是正常的吗?2.我可以在不重新启动VM的情况下解锁自己吗?3.我可以用不太严格的方式进行阻塞吗?4.为什么HeidiSQL通过SSH保持重新连接而不是像SQLyog那样保持一个连接呢?
ssh virtual-machine google-compute-engine google-cloud-platform
当我打开或关闭 Windows 功能中的 Windows Subsystem for Linux 选项时
每次运行虚拟机时,VirtualBox 都会出错
调用 WHvSetupPartition 失败:ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED)。结果代码:E_FAIL (0x80004005) 组件:ConsoleWrap 接口:IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
有没有办法在不关闭 wsl 的情况下修复 VirtualBox 错误
windows virtualbox virtual-machine windows-subsystem-for-linux
我曾尝试 repo init 源代码 Ubuntu 构建机器,它能够成功克隆代码。
回购初始化 -u git@github.com:xxx/xx_manifest.git -b xxx
现在我正在尝试 repo init VM Ubuntu 机器中的源代码。
在得到如下错误之间:
Traceback (most recent call last):
File "/xxx/.repo/repo/main.py", line 56, in <module>
from subcmds.version import Version
File "/xxx/.repo/repo/subcmds/__init__.py", line 38, in <module>
['%s' % name])
File "/xxx/.repo/repo/subcmds/upload.py", line 27, in <module>
from hooks import RepoHook
File "/xxx/.repo/repo/hooks.py", line 472
file=sys.stderr)
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
python 版本在构建机器和 vm 机器 2.7.17 中是相同的。
virtual-machine ×10
azure ×2
windows ×2
.net ×1
apc ×1
app-store ×1
c# ×1
c++ ×1
futex ×1
github ×1
hyper-v ×1
ios ×1
iphone ×1
libcurl ×1
performance ×1
php ×1
php-opcode ×1
python ×1
repo ×1
resources ×1
ssh ×1
ubuntu-12.04 ×1
virtualbox ×1
vmware ×1