>4GB 内存,适用于在 64 位 Solaris 上运行的 32 位应用程序(超大内存)

发布于 2024-12-14 15:27:22 字数 615 浏览 2 评论 0原文

MS Windows 和 Oracle Linux 都允许 32 位应用程序使用大于 4GB 的内存。 Windows 方法是 AWE: Address Windowing Extensions,Linux 方法是 非常大内存

工作原理:32位应用程序不能直接寻址> 4 GB 虚拟内存;但 64 位操作系统可以,而且 4GB 内存对于某些应用程序来说太小了。因此,VLM 和 AWE 允许应用程序从 64 位操作系统(甚至带有 AWE 的 32 位操作系统)保留大量内存。 32位应用程序无法直接寻址该内存,但它可以要求操作系统将大内存的某些部分映射到第一个4GB(到32位虚拟空间),然后可以访问、修改该内存;然后它被取消映射回来(通过操作系统请求)。

问题是:Solaris 操作系统(版本 10 或 11;x86_64 或 sparc64)中是否有类似 VLM 或 AWE 的东西?

Both MS Windows and Oracle Linux allows 32bit applications to use >4GB of Memory. Windows method is AWE: Address Windowing Extensions and Linux's method is Very Large Memory.

How it works: 32-bit application can't directly address > 4 GB of Virtual memory; but 64-bit OS can and 4GB of memory is too small to some applications. So, VLM and AWE allow application to reserve huge amount of memory from 64bit OS (or even from 32bit OS with AWE). 32-bit application can't address this memory directly, but it can ask OS to setup mapping of some part of huge memory into first 4GB (into 32-bit virtual space), then this memory can be accessed, modified; then it is unmapped back (with OS request).

Question is: Is there something like VLM or AWE in Solaris OS (version 10 or 11; x86_64 or sparc64)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

勿忘初心 2024-12-21 15:27:22

我不知道有什么库,但在 Solaris 下实现它会非常简单(以及所有支持 tmpfs 和 mmap 的 Unix/Unix 类操作系统)。

只需在 /tmp 中创建一个您想要的大小(例如:16 GiB)的文件(假设 /tmp 位于 tmpfs 上,默认配置),并让进程映射该文件的各个区域以访问所需偏移量的内存。

如果您确实想要访问物理内存而不是虚拟内存,则可以使用 Solaris ramdisk 支持 (ramdiskadm) 而不是 tmpfs。

There is no library I'm aware of but implementing it would be quite straightforward under Solaris (and all Unix/Unix like OSes supporting tmpfs and mmap).

Just create a file the size you want (eg: 16 GiB) in /tmp (assuming /tmp is on tmpfs, the default configuration) and have the process(es) mapping various areas of this file to access memory at the wanted offsets.

Should you really want to access physical memory and not virtual one, you can use Solaris ramdisk support (ramdiskadm) instead of tmpfs.

萌能量女王 2024-12-21 15:27:22

Solaris 支持 PAE(物理地址扩展),但谷歌搜索并没有描绘出一幅漂亮的图画。可用的信息非常少,大部分都是可怕的警告,表明许多第三方驱动程序无法使用它。

Solaris supports PAE (Physical Address Extension), but Googling around doesn't paint a pretty picture. There is very little information available, and most of it is dire warnings that a bunch of third-party drivers won't work with it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文