windows - 尽管 WinMobile 上有足够的物理内存,VirtualAlloc 怎么会失败(没有内存)?

标签 windows windows-mobile memory-management virtualalloc

我经常看到 VirtualAlloc 调用保留内存失败。我请求 2MB,以便分配不计入我的每个进程虚拟内存,而是使用系统共享内存。发生故障时,系统报告物理内存超过 100 MB。

我正在 Windows Mobile 6.1 设备上运行。到目前为止,这是一个特定于设备的问题。它可以在许多相同的设备上运行,但在一台设备上会失败。我希望能够确定该设备上的其他进程是否正在保留共享内存,从而阻止我这样做。但不确定我该如何做到这一点。

这是我所依赖的文档,我没有看到任何可以解释这个问题的内容: http://msdn.microsoft.com/en-us/library/aa908768.aspx

有什么想法吗?谢谢。

最佳答案

我很想说,VirtualAlloc 已经用完了(连续的)虚拟地址空间,至少就您的进程而言是这样。

我首先尝试建立 to which memory slot那些之前成功的 VirtualAlloc block 被映射到,并基于此查看我正在与谁争夺地址空间。您应该能够通过编程或使用 a tool from William J. Blanke 来完成此操作(或other similar tools。)

关于windows - 尽管 WinMobile 上有足够的物理内存,VirtualAlloc 怎么会失败(没有内存)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2420853/

相关文章:

c# - 使用 WCF 和 C# 进行远程登录

.net - 部署 IronPython 脚本或静态构建应用程序

user-interface - 如何制作一个适用于所有window手机的GUI?

javascript - 移除渲染组件时的 Vue 内存泄漏

c - 这是我可以为进程保留的最大内存吗?

Android Studio 无法在 Windows 10 上检测到 Android 设备

Windows Batch - 从 cmd 命令读取结果并保存到变量

windows-mobile - 如何删除挂起的启动应用程序(Windows Mobile)?

c# - visual-studio 2013 是否支持 Windows-mobile 或 Windows-CE 编程?

ios - 显示空白屏幕的webview屏幕截图