问题标签 [virtual-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 带部分对象(CreateFileMapping)的 I/O 是否比基本 api(Read/WriteFile)快?
- CreateFileMapping 和 MapViewOfFile,然后我们使用 memcpy 之类的函数进行 I/O。
- 只需使用读/写文件。
第一个比第二个快吗?我不明白。
为什么更快?
如果我们使用一个section对象,那么我们可以从VMM或Cache Manager中获得更多的缓存好处吗?
c++ - 如何获取 C++ 中可用的虚拟内存量?
我想使用 mmap 函数将文件映射到内存中,并想知道当前平台上的虚拟内存量是否足以映射一个巨大的文件。对于 32 系统,我无法映射大于 4 Gb 的文件。会给我可寻址内存的数量还是我应该测试的任何其他类型(off_t 或其他)
?std::numeric_limits<size_t>::max()
正如 Lie Ryan 在他的评论中指出的那样,这里的“虚拟记忆”被滥用了。然而,问题仍然存在:有一个类型与指针相关联,它的最大值定义了您可以在系统上处理的内容的上限。这是什么类型?是 size_t 还是 ptrdiff_t?
virtualization - 硬件虚拟化 - 管理程序查询
每当客户操作系统的客户页表发生更改时,管理程序将如何反映更改。访客页面映射和影子页面映射之间的对应关系如何保持?
一种方法是写保护内存地址。每当将写入来宾页表时,都会有一个适当的处理程序来确保对影子页表的相应更改。我可以在这方面有更多的投入吗?
c - 在 /proc/self/maps 输出中最多堆的分段
我的程序在其执行的某个时刻,逐行读取它自己的 /proc/self/maps 直到(并包括)堆。程序的路径是“/home/t4”。这是输出:
我只期待四个部分:代码、常量、静态变量、堆;但在这里,有五个。第一个显然必须是代码,最后一个是堆。也许第二个是常数——但是另外两个是什么?谢谢!
c++ - 自动/静态内存分配
也许是一个幼稚的问题,但是...
确认或否认:
自动和静态存储持续时间的对象/变量的内存的存在是在编译时确定的,并且由于没有足够的内存用于自动对象,程序运行时失败的可能性绝对为零。
自然,当自动对象的构造函数执行动态分配并且这种分配失败时,我们认为这是动态分配的失败,而不是自动的。
memory-management - 每个进程都有自己的页表吗?
每个进程都有自己的页表,还是只是将其页条目添加到一个大页表中?
c - Linux将虚拟内存范围映射到现有的虚拟内存范围?
在 Linux 中,有没有办法(在用户空间)将虚拟地址范围映射到支持现有虚拟地址范围的物理页面?mmap() 函数只允许映射文件或“新”物理页面。我需要能够做这样的事情:
memory-management - 为什么堆栈地址会朝着减少的内存地址增长?
我在教科书中读到堆栈通过减少内存地址而增长;即从高地址到低地址。这可能是一个糟糕的问题,但我没有正确理解这个概念。你可以解释吗?
php - 如何通过优化我的 PHP 代码来减少虚拟内存?
我当前的代码(见下文)使用 147MB 的虚拟内存!我的提供程序默认分配了 100MB,并且该进程在运行后被终止,导致内部错误。该代码使用 curl multi 并且必须能够循环超过 150 次迭代,同时仍然最小化虚拟内存。下面的代码仅设置为 150 次迭代,仍然会导致内部服务器错误。在 90 次迭代时,问题不会发生。
如何调整我的代码以降低资源使用/虚拟内存?
谢谢!
memory-management - 从虚拟内存的页表中确定物理地址
假设一个页面长度为 4k 的虚拟内存分页系统,我得到了下表
并询问真实地址是什么0x003A78
。
我在这里有点迷路,我想这个想法是分解0x003A78
成2?那将是 0x003 A78,所以它会是(2 * 4k) + 0x078
?
这是它还是我正在完成这个?