QNX 6.3 High cpu usage

Hi,

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?

Thanks

I don’t think there is a memory problem since you said what is increasing is CPU usage not memory.

You can use hogs cmd to realize wich procces is consuming memory
(eg: hogs -n -s1 -%2)

You can also, use 3rd party, spin cmd.

BTW, why do you start 10 different apps each one for one different terminal?

Who do you mean with this? Can you describe it with an example? Are there error messages? pidin did’n run at all?..

Regards,
JM

Note:

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.

Tim

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.

nice --10 hogs … does not work?

Before the incident occurs try “nice --10 sh” on the terminal so that it will have enough cycles to start hogs.

Momentics System Profiler maybe?

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 :slight_smile: )…

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?

Regards,
JM

Yes, the cpu usage seems to be fine when all the applications are running.

Navima,

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?

Tim

Alternate, minimize all terminals before calling hogs.
This should reduce the load by some percent.

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.

What QNX’s version are your running?

We are using QNX 6.3.0

Yes, we are using those terminals to view the output of the programs pterms running in photon

Our programs use a lot of stuffs: socket( tcp/ip connection), serial , interrupts so, mutex for shared memories, timers, …

We will try to start programs in one terminal to see the effect.

Thanks