【问题标题】:Program producing error when running in a VM程序在 VM 中运行时产生错误
【发布时间】:2012-01-11 19:59:51
【问题描述】:

我有一个 C# 服务应用程序,它通过 UDP 接收文件并将它们保存到本地驱动器中。该应用程序在本地操作系统上运行良好,但是当它从 VM 运行时,我从 Socket 库和 IO 库中得到这些异常。

System.Net.Sockets.SocketException (0x80004005): An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full

System.IO.IOException: Insufficient quota to complete the requested service.

我已经测试过磁盘空间,但它有 80% 的空闲空间。 VM 上的 Ram 也设置为 2GB。 我用谷歌搜索,但在这个主题上找不到太多。

@大卫斯特拉顿:
关于VM系统的信息: 使用 ESXi 4.1 主机操作系统 windows 2003

@赛斯·诺布尔
你的权利。第一个异常发生在它向源发送数据包时。 第二个IO异常,当它接收到要写入磁盘的数据包时。

【问题讨论】:

  • 什么类型的虚拟机? Virtual PC,Oracle VirtualBox,另一个?每个都有不同的限制,可能是相关的。请参阅此帖子:stackoverflow.com/questions/557879/… 我认为那里的答案暗示了您遇到的问题。在某些方面,VM 比真正的机器更受限制,因此您可能需要查看虚拟化平台的具体限制。
  • 应用程序是发送还是接收异常?您的描述听起来像是它的接收,但该错误通常是您发送的错误。

标签: c# virtual-machine ioexception socketexception


【解决方案1】:

如果这仅发生在 thw VM 中,则很可能是实际 VM 软件的某些功能的实现存在问题,可以安全地假设这不是由于您的编程错误造成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    相关资源
    最近更新 更多