[mythtv-users] Is this normal?

Bruce Markey bjm at lvcm.com
Tue Oct 19 22:13:12 UTC 2004

I always get a chuckle out of this type of reply. Michael's
message was accurate as usual. The same can not be said of
anything in your reply other than perhaps you didn't make
any spelling errors.

John Goerzen wrote:
> On Monday 18 October 2004 11:37 pm, Michael T. Dean wrote:
>>Mike Wood wrote:
>>>When I'm watching "live" TV, I see 5-6 instances of mythfrontend in
>>>Top. Only one of them is using significant CPU, but they are all
>>>using the same amount of memory.  Is this normal?
>>Linux 2.4 shows threads--not processes--in top and ps output.
>>Therefore, all 5-6 lines showing mythfrontend are actually threads in
>>the same "process" (what you referred to as an instance).  The memory
>>used is the total process memory--the values should not be added for
>>each thread.
> No, you're confusing the issue.  A distinct PID is a distinct PID, no 
> matter what.

And each thread has a distinct PID Linux 2.4 or earlier no
matter what.

>   How do you know, anyway, that mythfrontend is 
> multithreaded?

Um, because it is? There are 32 "pthread_create"s in the source
code. Both the frontend and backend use lots of threads for
various tasks. There are only three forks, each in contributed
code where the authors may not have been familiar with writing
threaded code.

> In my experience, when mythfrontend apepars to crash, it often leaves 
> behind some processes that must be manually killed.

Uh-huh. Nice try. Even if this were true, failure to reap
zombie PIDs would be a kernel bug. More likely, your "crash"
is really hung and killing the one process will remove all
the thread PIDs from the process table.

>>Therefore, it's completely normal.
>>You'll see the same thing with mysqld, httpd, and many other
>>processes on the system.
> httpd, for one, uses fork.

httpd != mythfrontend . In fact, httpd != httpd . Lots of web
servers daemons use the process name "httpd". There have been
multi-threaded web servers dating back to 1994.

> It is *not* what you have described; these 
> are separate processes.

They are threads within the mythfrontend process. As always,
putting asterisks around a word does not make the statement
correct. More often, it indicates the author can not be sure
of something they are trying to impose and emphasis would
make it seen as if it should not be questioned.

--  bjm

More information about the mythtv-users mailing list