现在在我的系统(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. Java减少堆栈大小以节省内存
- 4. HTML - 减小页面大小
- 5. 如何减少C++中数据的内存大小?
- 6. 内存的Windows页面是否始终在4096字节的跨度上?
- 7. 减少MutiView页面大小? (不是页码)
- 8. 减少内存
- 9. 减少C#中的位图位大小#
- 10. java图像压缩和减少字节大小
- 11. Scala - AbstractSeq如何减少字节码的大小
- 12. 减少输出页面大小性能改善asp.net
- 13. 检测内存页面大小
- 14. 文字大小不会减少
- 15. 如何减少gensim的字典大小?
- 16. 减少PDF的大小 - 从5MB至〜200KB
- 17. 从DataGrid减少ViewState的大小
- 18. iPhone:如何减少图片的内存大小
- 19. 减少Git仓库大小
- 20. 如何减少jar大小
- 21. 减少位图大小
- 22. 如何减少UIImage大小...?
- 23. 减少dll的大小vC++
- 24. 减少响应大小
- 25. 减少listitem的大小?
- 26. 减少uclinux图像大小
- 27. 减少SWF文件大小
- 28. 减少Java堆大小
- 29. 如何减少AlertDialog.Builder标题字体大小和正面按钮大小?
- 30. 我可以减少iphone桌面标题的字体大小吗
重复http://stackoverflow.com/questions/4420891/c-new-how-how-is-it-allocating-memory。 – Nate 2010-12-12 18:12:41