现在在我的系统(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