当检查Process Explorer中的过程时,如果存在多个页面错误,这意味着什么?该应用程序正在处理相当多的数据,并且UI不太灵敏。是否有可以减少或消除页面错误的代码优化?增加系统的物理内存是否会有所作为?是什么导致页面错误以及如何最小化它们?
5
A
回答
2
http://en.wikipedia.org/wiki/Page_fault
增加您计算机上的物理RAM可能会导致更少的页面错误,虽然设计更改您的应用程序会比添加RAM好得多。一般来说,拥有较小的内存占用量,并且在同一页面上同时访问的内容会减少页面错误的数量。此外,尝试尽可能一次性处理内存中的一些数据,这样您就不需要多次访问它,这可能会导致页面错误(又名抖动)。
3
它也可能会有所帮助,以确保所后互相访问的内存是互相靠近(例如,如果你有一些对象,将它们放置在一个数组),如果这些对象有大量的数据,这是非常罕见使用时,将它放在另一个班级中,并让第一堂课引用第二堂课。这样你大部分时间都会使用更少的内存。
0
一个设计选项是编写一个内存缓存系统,懒惰地创建内存(按需创建)。这样的高速缓存将有一组预先分配的内存块,通过它们的大小访问。例如,一个由N个列表组成的数组,每个列表都有M个缓冲区。每个列表负责为您提供一定大小的内存区域。 (例如,从每个列表中为您带来的内存在2^i(i = 0..N-1)的范围内,即使您要使用少于2^i的值,您也不会在缓冲区中使用额外的内存。 这将是小内存浪费权衡,VS缓存和更少的页面错误
另一种选择是使用nedmalloc
好运 利奥尔
相关问题
- 1. 什么原因导致这个错误以及如何解决它?
- 2. 什么是App_Browser文件夹以及它为何导致Bug?
- 3. 最小化angularjs脚本导致错误
- 4. ObjectSpace - 它是什么以及人们如何使用它?
- 5. 什么是一些常见的SocketExceptions以及导致它们的原因?
- 6. 开关导致#error,为什么以及如何修复它
- 7. 是什么导致这个错误,我该如何解决它?
- 8. 这个错误指的是什么,以及如何解决它?
- 9. 这个错误是什么意思,以及如何解决它?
- 10. 这是什么错误讯息,以及如何解决它
- 11. 这是什么弹簧错误以及如何修复它
- 12. 为什么它会导致错误?
- 13. 符号常数:它们如何存储以及它们的类型是什么?
- 14. 未知的点呈现在页面中 - 导致它们的原因是什么?
- 15. 什么是NULL值,以及如何在SQLite中处理它们
- 16. 什么是cufon和画布以及如何覆盖它们
- 17. 什么是StringIndexer,VectorIndexer以及如何使用它们?
- 18. 什么是sqlite开发标题以及如何安装它们?
- 19. 什么是(void(**)())以及如何typedef它?
- 20. SQL,Postgres OID,它们是什么以及它们为什么有用?
- 21. 什么是indexBuffer,什么可能导致我用完它们?
- 22. WOFF字体,它们是什么以及为什么要关心?
- 23. JavaScript中的内存泄漏:它们是什么,如何识别它们以及如何创建它们
- 24. 什么是数据类型以及如何初始化它?
- 25. 什么是API Web服务,您如何创建它们以及为什么?
- 26. 分页 - 它是什么以及如何操作
- 27. Tomcat它是什么以及如何设置自定义网页
- 28. 是什么导致DynamoDB UpdateItem在Swift中导致致命错误?
- 29. 什么是导致此错误消息?
- 30. 是什么导致iOS链接错误?
+1:虽然这是我的模式在数据库设计中非常了解,我从来没有真正考虑过OO设计,我喜欢它! – 2010-03-04 01:03:01