Since several days we are confronting to a big problem: the cpu usage of our system grows up to 100%:
10 terminals (pterm) in witch each of our applications are started (one application by pterm).
one terminal called A
We let run these processes during 48h
Then if we try to start one more terminal, called B, the cpu grows up to 100%, the memory status bar doesn’t change (about 42%)
We kill the terminal A, the cpu decreases and the terminal B is started
We try to start another terminal, called C, the same problem occurs: 100%, no change in memory status. We kill the terminal B, the cpu decreases and terminal C is started
The problem also occurs with another process (not only with terminals), like pidin for instance. pidin does not respond
Could there be a problem with memory that wouldn’t be freed properly?
If it is a memory problem, should the memory status bar not reflect it?
The machine has 1Go of memory. Could it be a problem for QNX to handle such an amount of memory?
Could there be a resource (like file descriptors…) that is totally consumed and then causes the problem? If yes, what kind of resources?
If the CPU usage is up to 100% you may not get any CPU time to run hogs.
So I suggest you create one extra terminal that runs at a high priority (say 20) that just sits there doing nothing. Then when the problem occurs you can run Hogs in this high priority terminal.
This may be why pidin doesn’t respond because at 100% CPU usage there is no CPU left to run pidin.
I’ve been in situations where you can’t start a program in the high priority terminal, so you might need to start hogs before the problem starts. Also getting the partition scheduler going can help.
We need to open one terminal per application to see the application traces, if the application can start or not.
When the system is in a such state (our applications have been started, if we run pidin , pidin does not respond. If we run an application with the -h option (to have only a description of the application usage), the cpu grows up too
I’ve tried with a higher priority to run hogs or pidin but they don’t respond, no error.
I’ve tried to start spin before the problem appears. Then I’ve run an application with the -h option to have a help description, the cpu grows to 100% cpu and it is completely frozen.
I would try to isolate your apps and your terminals as first step. Why don’t you run all yours apps in the same terminal just to see what happens…
It happened to me many times that the CPU usage grows up to 100%, and many of this times there was problems with terminals.
To trace events you should use log files… (since ditto is no longer available )…
I’m not helping so much, but I had similar situations…
Maybe I need little more information… You said that the problem happens after your 10! apps are running and you want to run an extra command, like pidin… When your 10 apps are normally running (one application by pterm, as you said) the CPU usage seems to be just fine?
Are these terminals you are using to view the output of your programs pterms running in photon? Or are they actual terminals running in native mode (ie no photon).
I only ask because the pterms in Photon can end up consuming a lot of CPU if you are writing data to the terminals that causes scrolling to occur AND the machine you are running QNX on doesn’t have a true driver for the video card (ie you are using software emulation to for the graphics card). If this is the case you’d need a much higher priority than 20 (maybe 40+) in order to get a hogs command to run.
Also it would help to know what your 10 apps are doing. Are they doing any socket stuff, serial stuff, any of them using interrupts etc.
Also what happens if you don’t run in terminals. Does this problem occur then?
I don’t think there is a problem with the graphics card driver… Because the CPU usage is 100%, not 99-98-99-100. So I think there is another thing around this isue. It is important the test without running the terminals.