現在在我的系統(debianx64)上,頁面大小爲4096字節。有沒有可能減少它?我想在內存中存儲很多小塊,但即使保留1個字節,我也不能使用另一個4095,因爲此處添加了第1條消息中的內容。 這是真的還是我錯了? 可以做到嗎? Thx爲答覆。C++從4096字節減少內存頁面大小
3
A
回答
10
編號
4096是x86平臺提供的最小頁面大小。這是CPU所施加的限制。它提供更大的尺寸(高達4MB,取決於模式),但這通常在啓動時由操作系統選擇。
你可以做的是做一個相對較大的分配作爲object pool的後備存儲。那麼如果你需要很多小對象,它們都可以存儲在一個頁面或內存區域中。這是改善內存分配性能的常見習慣用法。此外,大多數理智的內存分配器無論如何都以這種方式工作,所以沒有必要實現一個對象池,除非您在分析中發現您需要它。
1
頁面大小是OS範圍的項目。您不能僅爲您的應用程序創建新頁面大小,因爲頁面錯誤邏輯必須與所有其他進程一起使用。
我不確定你正在嘗試做什麼。我會說,如果你甚至擔心這個問題,那麼你需要通過連續存儲和訪問內存來使你的軟件更加緩存友好,就像在一個數組中一樣。
1
頁面大小(在x86平臺上BTW不能低於4K)很可能與您的情況無關。如果您在堆上分配數據,則頁面大小問題不會以您所假設的方式出現。
相關問題
- 1. 用Cocoa減少圖像字節大小
- 2. 減少Lucene索引的內存大小
- 3. 減少內存中的圖像大小
- 4. Java減少堆棧大小以節省內存
- 5. 減少PNG存儲大小
- 6. HTML - 減小頁面大小
- 7. C#存儲數組大小超過512長(4096字節)是否不同?
- 8. 如何減少C++中數據的內存大小?
- 9. 內存的Windows頁面是否始終在4096字節的跨度上?
- 10. 減少大量重複代碼的HTML頁面的大小
- 11. 減少MutiView頁面大小? (不是頁碼)
- 12. 減少TimePicker大小
- 13. 減少BitmapDrawable大小
- 14. 減少內存使用在下面字謎程序 - C#
- 15. 減少內存
- 16. 減少C#中的位圖位大小#
- 17. Scala - AbstractSeq如何減少字節碼的大小
- 18. java圖像壓縮和減少字節大小
- 19. 減少輸出頁面大小性能改善asp.net
- 20. 檢測內存頁面大小
- 21. 在Java字體大小減少
- 22. 如何減少gensim的字典大小?
- 23. 文字大小不會減少
- 24. 從DataGrid減少ViewState的大小
- 25. 減少PDF的大小 - 從5MB至〜200KB
- 26. 減少內存中的PIL圖像大小
- 27. iPhone:如何減少圖片的內存大小
- 28. 如何減少我的MAF應用程序的內存大小
- 29. 減少videoQuality視頻的內存大小:UIImagePickerControllerQualityTypeIFrame960x540
- 30. 減少HTML文件大小?
重複http://stackoverflow.com/questions/4420891/c-new-how-how-is-it-allocating-memory。 – Nate 2010-12-12 18:12:41