OProfile及其祖先DPCI是为概要分析生产系统开发的。这些操作的开销非常低,而且它们可以对整个系统 (包括内核)进行概要分析,因此您可以在VM , 内核和库中发现性能问题。
要回答您的问题:
查看此图,了解OProfile的采样频率与开销的关系。如果默认设置不符合您的喜好,则可以调整采样频率以降低开销。
使用OProfile的唯一警告是您需要将其安装在生产计算机上。我相信自RHEL3以来,Red Hat中已经提供了内核支持,而且我很确定其他发行版也支持它。
我不确定OProfile的确切内存占用量是多少,但是我相信它会保留相对较小的缓冲区,并偶尔将其转储到日志文件中。
OProfile包含支持Java的配置代理,并且了解在JIT中运行的代码。因此,您将能够看到Java调用,而不仅是解释器和JIT中的C调用。
OProfile是系统级的探查器,因此它不知道Web应用程序将具有的会话,事务等内容。
就是说,它是一个 完整的系统 探查器,因此,如果您的性能问题是由操作系统和JIT之间的不良交互导致的,或者它在某些第三方库中,则可以看到,因为OProfile探查器内核和库。这对于生产系统是一个优势,因为您可以捕获由于测试环境中可能不存在的生产环境配置错误或细节而导致的问题。