memory-fragmentation

    2热度

    2回答

    我正在调试我的应用程序中的“OutOfMemoryError:Metaspace”错误。右边的OOME之前,我看到在GC日志如下: {Heap before GC invocations=6104 (full 39): par new generation total 943744K, used 0K [...) eden space 838912K, 0% used [...)

    2热度

    1回答

    我正在使用SharpDX渲染平铺的2D图像的.NET 3.5应用程序。 纹理(Texture2D)按需加载到缓存中,并在管理的池中创建。 纹理在不再需要时被处置,并且我已验证Dispose()被正确调用。 SharpDX对象跟踪表明没有纹理正在定型。 问题在于处理后纹理使用的大量非托管堆内存继续保留。加载新纹理时会重用此内存,所以内存不会泄漏。 但是,应用程序的另一部分还需要大量的内存来处理新图像

    0热度

    1回答

    我有存储器碎片的问题可以以这种小例子来概括: #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { void *p[8000];int i,j; p[0]=malloc(0x7F000); if (p[0]==NULL) printf("Alloc aft

    0热度

    1回答

    我有一个简单的VB.NET网络应用程序,允许用户下载服务器硬盘上的特定文件。但是,其中一些文件非常大,最大为1GB。有时,当Web应用程序试图发送这些文件时,应用程序会挑起并抛出一个System.OutOfMemoryException。经过一番研究,我发现这是由于内存碎片,或者没有足够的连续内存来分配整个文件。 有什么办法可以避免这种错误发生?我们的服务器有足够的物理内存来分配下载这些大文件,这

    0热度

    1回答

    据我所知,内部碎片仅适用于固定大小的块,而外部碎片仅适用于动态大小的块。 称这种情况(显然有内部碎片)外部碎片在技术上是正确的吗? --- Block1 (empty) --- Block2 (half full) (internal fragmentation) --- Block 3 (empty) --- 假设一个进程P不能适应block1或block2。但它可以适合他们的总

    0热度

    1回答

    32位系统上具有2^20字节物理内存和4KB页面大小的页帧号需要多少位? 是11位? 需要一个答案请帮忙!谢谢。

    1热度

    1回答

    假设我有两个50字节的进程,并且只有一个100字节的分区。 假设第一个进程占用了分区,剩余50个字节。 即使可用空间可用或将发生内部碎片,第二个进程是否可以驻留在同一分区? 也是如此,如果内部碎片存在,那么外部碎片也存在?

    0热度

    1回答

    我知道.net线程相当重,每个内存消耗大约1MB内存(主要用于堆栈)。现在,如果这是一个用户.net类,我知道它可能会把大部分内存放入LOH。但是,由于它是一个核心课程,我想知道这是什么行为。 这个问题的原因是因为我在内存分析一个(可能长寿命)的应用程序,并且似乎有一个缓慢的泄漏。我注意到VS显示了33个线程(在各种状态下,包括停止)。我想知道线程的节约使用是否会碎片化内存(以及一些LOH DTO

    10热度

    2回答

    当我使用malloc() s和free() s随机,嵌套和不同的大小,在某些时候内存将被分割,因为这些操作留下了一大堆小的内存区域后面是非连续的,因此可以' t被分配为一个更大的块。 在这几个问题: 当这往往使内存被强制零散完成,然后所有这些内存区域free() d,我可以假设这些空白区连接回原来的连续大小? 当我总是做一个malloc()随后free()为相同的内存,从不窝这些呼叫,在这种情况下

    1热度

    1回答

    我们在Redis服务器中设置了120 GB最大内存。 所以在信息输出used_memory总是比等于少120GB,但used_memory_rss是140GB〜 有人能请解释的原因呢?