Re: Using Gprof with Postgresql

Поиск
Список
Период
Сортировка
От Craig James
Тема Re: Using Gprof with Postgresql
Дата
Msg-id 4AA66A74.7030408@emolecules.com
обсуждение исходный текст
Ответ на Re: Using Gprof with Postgresql  (Pierre Frédéric Caillaud<lists@peufeu.com>)
Список pgsql-performance
Pierre Frédéric Caillaud wrote:
>> I just compiled it with gcc and produces the gmon.out file for every
>> process; by the way I am running below script in order to produce
>> readable .out files
>>
>>   gprof .../pgsql/bin/postgres gmon.out > createtable2.out
>>
>> is postgres the right executable?
>>
>> regards
>> reydan
>
>     Off topic, but hace you tried oprofile ? It's excellent...

I find valgrind to be an excellent profiling tool.  It has the advantage that it runs on an unmodified executable
(usinga virtual machine).  You can compile postgres the regular way, start the system up, and then create a short shell
scriptcalled "postgres" that you put in place of the original executable that invokes valgrind on the original
executable. Then when postgres starts up your backend, you have just one valgrind process running, rather than the
wholePostgres system. 

Valgrind does 100% tracing of the program rather than statistical sampling, and since it runs in a pure virtual
machine,it can detect almost all memory corruption and leaks. 

The big disadvantage of valgrind is that it slows the process WAY down, like by a factor of 5-10 on CPU.  For a pure
CPUprocess, it doesn't screw up your stats, but if a process is mixed CPU and I/O, the CPU will appear to dominate. 

Craig


В списке pgsql-performance по дате отправления:

Предыдущее
От: Pierre Frédéric Caillaud
Дата:
Сообщение: Re: Using Gprof with Postgresql
Следующее
От: Eugene Morozov
Дата:
Сообщение: Forcing postgresql to use an index