From: Rick K. <rk...@nc...> - 2006-04-29 23:37:24
|
Hello again Ryszard, I have finally had a chance to look at the output you sent more closely and thought I would follow up. Unfortunately, there is nothing obvious that is shown by the output you provided except that the run proceeds through the initialization phase that PerfSuite (psrun) goes through. My instinct is that the problem may be related to substantial memory requirements for the profiling buffers that are allocated by PerfSuite, one for each shared library in addition to your application itself. As you reported, there are quite a few shared libraries involved; the debug output indicated that 84 were found in the load map. I have two suggestions that you might want to try to test this theory. The first is to try using an alternate configuration file that omits the shared libraries. There is one called "profil.xml" that should be installed from the PerfSuite distribution in the directory $PREFIX/share/perfsuite/xml/pshwpc. This configuration only allocates memory for the main program text of your application and should cut down the memory required for profiling buffers considerably. Of course, you'll not get any samples attributed to the shared libraries (which may be what you're interested in), but if things work consistently with profil.xml, it may point to memory issues. The second suggestion is to consider using the latest 0.6.2 version of PerfSuite. There were some changes made in memory management for profiling buffers that may have a positive effect, although no guarantees. Unfortunately, there is no way to be selective about which shared libraries are profiled in PerfSuite in order to cut down on memory usage as well as avoid modules that are not of interest. This would be a good option to add, but nothing currently exists. I hope this helps, if you do try one or both of these suggestions, it would be interesting to learn the result. Rick On Tue, 18 Apr 2006, Ryszard wrote: > Hi everybody, > > I am playing with a psrun and profiling. > > Here is a little background about my application. I have a simulation and its executable file is dynamically linked with about 80 libraries. More or less, the application spends about 2 seconds in order to open all shared libraries, before a real running (before main function). > Simulations works well, but there is a problem with the psrun and the profiling. The psrun tool stops and does not run the simulations. The psrun exits after the fork() function. > > The running environment and the config file as well is exactly the same as in case of the profiling another simulation which works good. I started to change threshold parameter in the config file from 50000 to 200000 and it started work. The problem is that this trick does not give a stable solution, because from time to time the profiling job still does not work. > > Do you have any ideas, what could be wrong here? Please contact me if you need more information. Thank you in advance for your help. > > Best regards, > Ryszard. |