|Newbie questions about Pliant
Bug in trace?
Bug in trace?
Pliant 84 on Linux 2.4.20
|Message posted by thomasb on 2003/05/12 11:27:36
|When I trace some Pliant service pliant start to use 100% cpu as soon as
the first trace message appears. This continues until I stop Pliant. Also,
some defunct Pliant processes remains. Output of ps aux after a short
test looks like this:
root 22175 2.6 0.0 0 0 pts/12 Z 13:20 0:19 [pliant] <defunct>
root 22176 0.0 0.0 0 0 pts/12 Z 13:20 0:00 [pliant] <defunct>
root 22177 0.1 0.0 0 0 pts/12 Z 13:20 0:01 [pliant] <defunct>
root 22178 13.2 0.0 0 0 pts/12 Z 13:20 1:37 [pliant] <defunct>
root 22179 0.7 0.0 0 0 pts/12 Z 13:20 0:05 [pliant] <defunct>
root 22180 0.0 0.0 0 0 pts/12 Z 13:21 0:00 [pliant] <defunct>
root 22181 0.0 0.0 0 0 pts/12 Z 13:21 0:00 [pliant] <defunct>
|Message posted by hubert.tonneau on 2003/05/12 11:46:11
|I don't have so problems on my FullPliant servers where the CPU usage goes back
to close to 0.
Do you run on an SMP box (Pliant semaphores will compile very differently if it
detects UP or SMP hardware) ?
Do you run Pliant process has root (Pliant might use some features only available
to root user, also Pliant is running non root in FullPliant logical computers) ?
Please post the report of Pliant status page, and the 'details' one on CPU line
in the main status page.
|Message posted by thomasb on 2003/05/12 11:54:13
|Message posted by hubert.tonneau on 2003/05/12 11:57:29
|Pliant has a single running thread (yellow) which is your HTTP request.
Everything looks fine to me.
The large number of Zombies you have is probably related to the way you are
launching Pliant, not to Pliant itself.
|Message posted by thomasb on 2003/05/12 12:05:54
|The computer has a single Atlon CPU. No SMP.
Pliant is running as root. I will try with a normal user.
100% start some about 10 seconds after the trace is started, not the first message.
Loads goes back to 0 some minutes after trace is stopped.
The defunct Pliant processes still remains when Pliant is stopped.
|Message posted by hubert.tonneau on 2003/05/12 12:28:28
|Ok, I can reproduce that.
This is related to the communication between the Pliant thread handling the
HTTP request for the user that requested the trace, and the Pliant trace
It is implemented under the 'Start tracing' button in
and the thread handling the HTTP request is busy looping on a Pliant
So, the CPU usage raises to 100%, but in facts the machine is not that much
loaded. If you compare the execution time for another task, you will notice
that it is not much impacted. What you are mesuring is rather the limits of
the reliability of the Linux kernel statistics.
|Message posted by thomasb on 2003/05/12 12:30:35
|When I run Pliant as a normal user the load problem remains, but no defunct
I run Pliant as:
A also tried:
pliant module "/pliant/protocol/http/server.pli" command 'http_server'
When I quit the shell all defunct processes dissapered. Nice. This was a
bash shell was started using "su -" from another bash shell. Logging in
as root an a text console does not change anything.
I will post a new report that looks a bit different.
|Message posted by hubert.tonneau on 2003/05/12 12:33:08
|PS: A good way to discover what's going on, is to send a kill signal to the
Linux process (ie Pliant thread) which is running all the time, so that
you will get a stack trace of the right thread, and through reading the
code at the positions specified in the stack trace, you should be abble
to conclude what the Pliant process is truely spending all it's time on.