AIX 5L Version 5.3:为您提供了哪些新的特性?
2008-09-06 08:18:03 来源:WEB开发网新的 malloc() 算法
AIX 5L Version 5.3 中实现了新的 malloc 子系统,它称为 Watson Malloc。与缺省实现 (Yorktown) 相比,Watson Malloc 在多线程应用程序的内存碎片和性能方面有了进一步的改进。Watson Allocator 能够快速处理一些小的请求,并且仅消耗相当少的内存。
对 malloc 子系统的改进
AIX 5L Version 5.3 所支持的与 malloc 相关的环境变量的个数减少为 3,并且这些属性可以使用预定义值。这些环境变量是:MALLOCTYPE、MALLOCOPTIONS 和 MALLOCDEBUG。MALLOCOPTIONS 是一个新的环境变量,它负责处理 MALLOCTYPE 分配器的当前的和以后的所有选项。它取代了 MALLOCBUCKETS、MALLOCMULTIHEAP 和 MALLOCDISCLAIM,这些变量已被弃用。
Malloc 日志和 Malloc 跟踪功能也得到了进一步增强。
所有产生显示输出的 malloc 调试选项,都将它们的输出结果发送到 stderr。新的“output”调试选项提供了一种指示子系统将显示输出发送到其他文件流的机制。
在遇到错误时,许多 malloc 调试选项都会调用 abort() 过程。通常属于这种情况,然而,开发人员可能希望先调试其他的错误类并且宁愿出现更少的不会产生致命缺陷的严重错误。新的“continue”调试选项便提供了这种选择。
DBX malloc 命令
DBX 命令中已集成了 malloc 调试特性。这将允许开发人员查询 malloc 子系统的当前状态,而无需创建复杂的笨拙脚本,并且后面的这种做法还需要了解 malloc 子系统的内部知识。
增强的 DBX 功能
在 AIX 5L Version 5.3 中,对 DBX 添加了重要的增强功能。下面是关于其中一些增强功能的列表:
现在,用户对 DBX 用来调试事件的方式有了附加的控制能力。如果用户需要禁用调试事件的结果,在目前情况下,DBX 需要彻底地删除该事件。而在必须重复删除和添加事件的情况下,在每次需要启用事件时,用户都必须手动地重新输入该事件。有了下面两个新的 DBX 子命令后,就不再需要这种麻烦的处理方式了:disable 和 enable。这些子命令允许 DBX 用户临时地禁用调试事件,而无需永久地删除它们。
更多精彩
赞助商链接