Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.13. Valgrind

Valgrind 提供大量检测和性能分析工具,以帮助提高应用程序的性能。这些工具可以检测内存和线程相关错误,以及堆、堆栈和阵列超量运行,使您可以轻松查找并更正应用代码中的错误。它们还可以对缓存、堆和分支预测进行性能分析,以识别可能提高应用速度并最大程度减少内存使用量的因素。
Valgrind 通过在综合 CPU 上运行并检测执行时的现有应用程序代码来分析您的应用。然后它会打印清楚应用程序执行涉及的每个进程到用户指定的文件、文件描述符或网络套接字的信息。请注意,执行检测代码的时间可能比正常执行的时间要长 4 到 50 倍。
Valgrind 可以按原样使用,无需重新编译。但是,由于 Valgrind 使用调试信息来查明代码中的问题,如果您的应用程序和支持库没有在启用了调试信息的情况下编译,红帽建议重新编译来包括此信息。
Valgrind 还与 GNU Project Debugger(gdb)集成以提高调试效率。
Valgrind 及其从属工具可用于内存分析。有关使用 Valgrind 分析系统内存的详情请参考 第 7.2.2 节 “使用 Valgrind 分析应用程序内存使用情况”
有关使用 Valgrind 的详情,请查看 man page:
$ man valgrind
安装 valgrind 软件包时,也可在 /usr/share/doc/valgrind-版本 中找到附带的文档。