heap-memory

    1熱度

    1回答

    Oracle文檔說明非標準vm選項(如啓動堆大小和最大堆大小)通過在-X前加前綴來設置。因此,要將啓動堆大小設置爲128 MB,您可以使用-Xms128m。 但是,-ms和-mx似乎也起作用。這是真的還是使用-ms而不是-Xms有其他影響? 這是記錄在任何地方,或者-X沒有必要或者它們是標準選項? 是否還有其他像這樣的選項,它們不需要以-X爲前綴?下面

    -2熱度

    1回答

    我不知道什麼是錯用下面的函數讀取任意長度的文本行: char *GetLine(FILE * f) { size_t size = 0; size_t len = 0; size_t last = 0; char *buf = NULL; bool line_end = false; while (!feof(f) && !line_e

    1熱度

    2回答

    目前我正在讀一本關於C指針並沒有在書中,混淆我舉一個例子: 假設我們有:int arr_of_int[] = {5,10,15}; 我們設置:int *add_of_arr = arr_of_int; 那麼我就知道了「add_of_arr」變量保存的地址:arr_of_int[0]; ,讓我們只是假設的「add_of_arr」的地址是500 現在,如果我做的:「add_of_arr += 3;」,

    0熱度

    2回答

    我正在開發一個包含實時軟件組件的項目,使用Linux上的RT PREEMPT補丁。 在「空閒」操作期間,軟件只是等待傳入的TCP連接和請求。根據請求,軟件可能創建一段運行一段時間的實時線程。所以整個應用程序不需要實時操作,只有這一個線程不時。 我的問題是這樣的:我很清楚動態內存分配是非確定性的,並且對實時代碼是不利的。但是,訪問堆中現有的內存也對實時約束有害? 我問,因爲我正在考慮程序啓動的情況,

    0熱度

    1回答

    我正在構建一個Spark應用程序,它使用了每個矩陣需要很多GB的非常大的矩陣。 spark-submit --driver-memory 20g --executor-memory 20g --class "mycoordinates.App" --master local[7] my.jar args 一旦我的問題設置達到一定的規模門檻我開始越來越OOM錯誤,並增加了駕駛員記憶不能解決問題(

    1熱度

    1回答

    說,如果我在我的流程中調用GetProcessHeaps以獲取它使用的堆列表。有一個堆HANDLE如何判斷這個堆是否由HEAP_NO_SERIALIZE flag創建?

    0熱度

    2回答

    我想實現在this問題的答案中實現了什麼,但是對於字符串向量,即字符串對象。我希望能夠編寫可用於堆內存或共享內存的通用代碼。我模擬了代碼並編寫了一個類來實現一個字符串向量,這個向量可以用於堆內存或共享內存。我大部分工作。但是,當我嘗試從堆分配的字符串矢量初始化/創建字符串的共享內存向量時,我收到編譯錯誤。在上面引用的問題中,共享內存向量是從非共享內存向量初始化的(引用「這是因爲...... MAG

    0熱度

    1回答

    我有以下代碼。我們曾經爭論過哪種方法更適合於內存性能。如果我們不使用單獨的變量並使用它,它會有所作爲嗎?它會影響到那麼這是可能的解決方案? /// <summary> /// Treatment Point Types /// </summary> public string DWTreatment { get { St

    1熱度

    1回答

    這裏是我正在處理的LinkedList實現。它工作正常的任何數據類型,但是當我試圖做出對與Visual Studio我得到指定RtlValidateHeap 無效地址調試鏈表 一種類型的鏈表(00790000,007B16D0) 問題出現代碼如下: typedef unsigned long int LENGTH_T; template < typename type > struct nod

    1熱度

    1回答

    我的電腦有64GB的內存,並在Eclipse中我設置的默認VM參數,像這樣: -Xms512m -Xmx9g 我以爲9GB的最大尺寸我的Java應用程序可以利用的。但是,在我開始我的應用程序一段時間後,我可以從系統監視器看到我的Java應用程序進程正在使用近16GB的內存。它如何比我設置爲9GB的VM參數大?