Excerpts from a SQLMag article about running SQL Profiler on busy servers -
Profiler is a GUI front end that calls a series of functions and procedures collectively called SQL Trace. In most cases, using Profiler to capture system information is more expensive than calling SQL Trace procedures directly. Consider using custom procedures to directly call SQL Trace procedures to stop, start,and control traces Traces, whether you run them through Profiler or through direct calls to SQL Trace, rarely degrade performance unless they grow too big too quickly. Always specify a maximum file size when tracing on a busy server. If a trace starts to grow uncontrollably large and surpasses the maximum file size limit is set, the trace will stop. 50MB is a safe maximum size. The proper maximum size will depend on the hardware and transaction volume. Another way to control the trace file's size and reduce the potential for a trace-induced performance problem is to include only the events and d...