heap-fragmentation

    1熱度

    1回答

    我正在處理垃圾回收的基本知識以及每種方法的不同算法(加上pro的con的等..)。我試圖確定最佳垃圾回收算法用於不同的場景。 如:堆上的東西都一樣的大小,一切都很小,很短的壽命,一切都很大,壽命較長。 - 如果一切都是相同的大小堆碎片不是問題。另外我也不必擔心壓實。所以也許參考計數? -small obj w/short lifespan? -large obj w/long lifespan?

    3熱度

    4回答

    堆碎片可能導致服務器應用程序預計會持續運行數月,以至於突然發生故障,認爲它內存不足。 我們假設我已經盡我所能在我的VC++服務器應用程序中儘量減少運行時堆碎片,但它仍會累積並導致問題。例如,我可以自動重新啓動應用程序每個月或每五十萬個請求處理 - 安全地停止並安全地重新啓動一個新的堆。我還能做什麼解決方法堆碎片?

    8熱度

    1回答

    我需要從GCC爲Linux編譯我的C程序中回答一個基本問題:如何處理堆的多少是目前正在使用(通過malloc分配)和多少駐留如果免費的堆塊。標準庫的GNU實現有mallinfo函數,它能夠準確報告我需要什麼,但它只能用於32位配置,而且AFAIK沒有64位等效的功能(順便說一句,任何人都知道爲什麼?)。 我用GCC在Linux上,所以我需要這樣的Linux版本。但是我認爲這個堆對系統是不透明的,所

    10熱度

    1回答

    在我的課堂上,我們有一個任務,並的問題之一規定:用C 記憶碎片:設計,實施和運行C程序,做的以下內容:它爲每個大小爲500000個元素的3m數組序列分配內存;那麼它將取消分配所有偶數數組,並分配每個大小爲700000個元素的m個數組序列。測量您的程序在分配第一個序列和第二個序列時需要的時間量。選擇m,以便用盡程序中可用的所有主內存。解釋你的計時 我對此的實現如下: #include <iostre

    0熱度

    1回答

    我有一個程序可以分析150,000個文件。 Valgrind報告沒有內存泄漏,但程序隨着時間的推移而減慢。 一些問題與經常使用std :: string和mktime需要太多時間有關。 (見C++ slows over time reading 70,000 files) 但隨着時間的推移,它仍然會變慢。 Lotharyx建議容器使用正在導致堆碎片。 我閱讀了各種STL容器的利弊流程圖,但我並沒有

    9熱度

    2回答

    我想了解堆碎片如何工作。以下輸出告訴我什麼? 這堆是否過分分散? 我有243010個「自由對象」,總數爲53304764個字節。那些曾經包含對象但現在已經收集到garabage的堆中的那些「自由對象」空間? 如何強制碎片堆清理? !dumpheap -type Free -stat total 243233 objects Statistics: MT Count TotalSiz

    12熱度

    1回答

    如何監視或可視化delphi應用程序的內存碎片?

    30熱度

    5回答

    就像在標題中一樣,連續的內存塊是什麼?

    3熱度

    2回答

    我正在編寫一個基本的文本編輯器,它實際上是一個編輯控制框,我想爲我的主程序編寫代碼,數值和表達式。 我現在正在做的方式是將字符串提供給編輯控件。在編輯控件中,我有一個類將字符串分解爲「字形」,如單詞,數字,換行符,製表符,格式標記等。字形例如包含表示文字和字符的短整型字符尾隨空白的數量。這些字形還包含繪製文本和計算換行時所需的信息。 例如文本行「我的名字是卡爾」就等於字形的鏈表是這樣的: NewL

    2熱度

    1回答

    我有一個問題,一直困擾着我上週。 在Windows調試存在!heap -s命令輸出該虛擬存儲器的堆狀態,並使用下列公式計算所述外部碎片: External fragmentation = 1 - (larget free block/total free size) 是否有在Linux的相似方法,其輸出以計算所需要的那些統計效果如何? 長篇大論現在: 我有一個C應用程序,它使用malloc和f