From: Rick K. <rk...@nc...> - 2006-04-18 23:51:09
|
Ryszard, Sorry to hear you are experiencing problems with profiling through psrun. I'm afraid it may be a little difficult to diagnose what could be going on without being able to reproduce the problem. Your application sounds quite complex, so I'm not hopeful that asking you to provide would be reasonable - but if there is any way of demonstrating the behavior with a small test case, it would be very helpful. At a minimum though, would you provide the output of "psinv" and "psinv -x"? These provide some information about your system and supporting software, as well as PerfSuite version numbers. Also, only to clarify: when you say psrun stops after the fork, I assume you mean the fork within psrun itself (versus your application)? In normal operation, the psrun process itself should be waiting for the child process (your application) to exit before psrun does. So I would guess that for some reason your process is exiting prematurely but the question is where and why. There is an option to psrun (-X) added in version 0.6.2 that will cause psrun to return the exit status of the command being measured rather than psrun itself (there is an equivalent environment variable PSRUN_EXITSTATUS that can be set to cause the same effect). Typically what I do to help learn what is going on within the internals of PerfSuite is to use a "debugging build". This requires a total rebuild of PerfSuite itself after having reconfigured as normal but including the flag "--enable-debug". What this does is to activate debugging code within PerfSuite that tracks various things within the software and can be helpful in learning at what point failure happens. The level of debugging output can be controlled through an environment variable PS_DEBUG, which can be set to an integer between 0 and 3 (the higher the value, the more verbose the debugging information). If you have the time and inclination to try that and would like to send me the output from a run that fails, perhaps we can get you going again. One would not want to run a debug-compiled version of PerfSuite in normal production because it does add some overhead to the run. 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. |