在 Solaris 2.6 以前的 Solaris 发行版中,在多线程程序中调用 profil() 仅影响调用 LWP。创建 LWP 时不会继承配置文件状态。要使用全局配置文件缓冲区来配置多线程程序,线程启动时每个线程都需要调用 profil()。此外,每个线程必须为绑定线程。这些限制很麻烦。它们不能顺利支持动态打开和关闭剖析。
在 Solaris 2.6 以及更高发行版中,对多线程进程的 profil() 系统调用具有全局影响力。对 profil() 的调用将影响进程中的所有 LWP 和线程。profil() 可能会使与以前的每 LWP 语义相关的应用程序中断。但是,预计调用 profil() 可以改进需要在运行时动态打开和关闭剖析的多线程程序。