1.
linux 優先運用物理記憶體,當物理記憶體還有空閒時,linux是不會施放記憶體
的,即使占用記憶體的程式已經被關閉了(這部分記憶體就用來做快取了)。也就
是說,即時你有2g的記憶體,用過一段時間後,也會被佔滿。這樣做的裨益是,啟
動那些剛開啟過的程式、或是讀取剛訪問過得資料會比較快,對於伺服器很有
裨益。
用 used 減去 buffer 和 cache,才是執行中的程式所占用的空間
mmap函式申請的記憶體是從虛擬記憶體中分配的,而非物理記憶體。
用malloc函式申請的記憶體,用free釋放後,指標並不為null。從搜到的資料看,說free後指標不為null,但是指標指向的記憶體已經被釋放,但是我在centos6.3下測試,發現free後還是能輸出原先的字串。但指標不為null這個是肯定的。**如下:
int main()
return 0;
}
執行結果:
# ./a.out
hello
helloworld
先不理會這個結果在其他機器上是不是會不一樣,但是在使用free時要切記使指標賦值為null,防止野指標,delete也如此。
free(str);
str = null;
用malloc分配的記憶體,如果操作的時候越界了,用free釋放的時候會報錯,而注釋掉free就不報錯,這種情況不注意就不知道是越界操作的原因.
MRC ARC 記憶體管理 雜記
簡述基本原則 1.之前 oc記憶體管理遵循 誰建立 誰釋放,誰引用 誰管理 的機制,當建立或引用乙個物件的時候,需要向其傳送alloc copy retain訊息,當釋放該物件是需要傳送release訊息,當物件引用計數為0時,系統將釋放該物件,這是oc的手動管理機制 mrc 2.目前 ios5.0...
雜記記憶體對映mmap
前面有講過資料的流動是必須得經過作業系統的,但是有一種基於vm物件的方式可以讓資料不經過作業系統而直接到檔案,提高效率。具體描述如下 在講述檔案對映的概念時,不可避免的要牽涉到虛存 svr 4的vm 實際上,檔案對映是虛存的中心概念,檔案對映一方面給使用者提供了一組措施,使用者將檔案對映到自己位址空...
linux 命令雜記
修改environment檔案後 source environment 重新初始化environment讓剛配置的環境生效 linux 解壓zip uzip n text.zip d tmp n 不覆蓋已經存在的檔案 linux指定安裝目錄 prefix 目錄名 netstat tulnp tcp ...