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〜 有人能請解釋的原因呢?