Difference between revisions of "User Manual:Diagnosing Problems"

From MythTV Official Wiki
Jump to: navigation, search
(Diagnosing)
(Diagnosing)
Line 101: Line 101:
 
press i to hide the idle processes
 
press i to hide the idle processes
  
  $lsof  
+
  $lsof -p
  
 
will list all the files open by each process (there will be a lot but might
 
will list all the files open by each process (there will be a lot but might

Revision as of 20:48, 26 February 2006

Previous Up Next
Go-prev.png User Manual:Accessory Modules Go-up.png User Manual:Index User Manual:Regression Testing Go-next.png


It can be frustrating when things don't work. Please remember two things about MythTV when you run into problems like this: 1) it's in early, early beta (0.15 is a *very* low version number -- on purpose) even if it's working ok for you, and 2) it was free.  :-)

Asking Good Questions

As with all open source projects, while you don't pay someone *cash* for the software, it's not entirely 'free', either. The investment you make, sometimes, is diagnosing problems (sometimes on your own, sometimes with the help of the mailing list), and *reporting them back to the list*. This way, the solution (and if you do this, please try to put [solved] in the subject line so people will be able to spot the solution -- and we wouldn't object to you posting an question and answer here too.  :-)

And you're much more likely to get an answer if you've done some legwork on your own, first: an excellent reference for the sort of legwork you might want to *do* is Eric Raymond and Rick Moen's "Asking Questions The Smart Way".

In this section, my approach will be to put a whole bunch of questions and answers on each page, rather than one per page, because the latter approach always frustrates *me* when I'm trying to fix something. I've found that seeing the other questions and answers as you go by can be useful as well.

What They'll Need To Know

The specific examples, at the moment, are those of my machine, and note that *all* characters are significant -- and that many of these things don't change frequently; creating a file with your setup in it for mailing list postings can be useful. I'm going to make this into a Wiki Template, so you can easily create a subpage here from your Home Page, for quick reference.

  • Hardware
    • Motherboard (MSI-6712)
      • Processor (AMD Athlon XP 2500+ 'Barton')
      • Chipset (VIA KT400A)
      • Number of PCI slots (6)
      • Amount and speed of RAM (512MB PC2700 Kingston)
    • Hard Disk
      • Interface (IDE-80)
      • Size (200GB)
      • Manufacturer (Seagate Barracuda)
      • Exact model # (ST3200822A)
    • Tuner Cards
      • Quantity (2)
        • Manufacturer (all Hauppauge)
        • Model (PVR-250)
        • Revision (48432/I110, 32032/B182)
        • Encoder/Decode Firmware (02040011,02020023)
  • Software
    • Operating System
      • Kernel version (Linux potato 2.6.5-7.104-default #1 Wed Jul 28 16:42:13 UTC 2004 i686 athlon i386 GNU/Linux)
        • Source-built/RPM? (RPM/YOU)
      • Distribution & version (SuSE 9.1 Pro)
        • Version numbers of strategic support packages
          • MySQL (mysql-4.0.18-32, qt3-mysql-3.3.1-32, php4-mysql-4.3.4-43.11)
          • KDE/Qt (qt3-3.3.1-36.16)
          • ...
    • Tuner Card driver
      • Complete version number (0.1.10pre2-ck100z)
      • Source (chriskennedy.kicks-ass.net)
      • Source-built/RPM? (tarball)
    • Applications
      • MythTV
        • Version number or CVS build date (20040528-1 CVS)
        • Installed options
      • Other capture apps
        • Version numbers
          • Do *they* work?

Once you have assembled all the necessary information, which may include the contents of several log files (the frontend, backend, and pertinent parts of the system logs), you need to know where to go to ask questions.

Before or After?

The important thing to know about a problem when you're trying to help someone fix it is: was the system (mostly) working and the problem is new, or have you not gotten the system working yet.

Where to Ask

So, now that you know what to ask, and what information people will need to help you diagnose your problem, and you've done some of your own legwork to figure out the most likely causes, you need to know where to go to ask your question.

There are three places, in ascending order of immediacy, that you can go to ask questions. Each has advantages and disadvantages, both for you and for other people.

IRC

If you have an IRC client program, and know how to use it (that's beyond the scope of this document [I've *always* wanted to say that :-)]), you can visit the MythTV users IRC channel

irc://irc.freenode.net/#mythtv-users

(Note that there's another channel for developers, which has a name that does not end in -users; it's topic typically reminds you that it is not a user support venue.)

Advantages

It's faster: if there's someone around who knows what is causing your problem, you might be able to get an answer instantly.

Disadvantages

There may *not* be someone around who knows were your problem is coming from. If you *do* get an answer, there's no record of it -- as there would be if you'd asked on a mailing list -- so others can't benefit from it.

Best For

Lightweight questions, especially those about installation and compiling.

Not So Much

Long involved questions that are dependent on your installation and it's parameters.

Diagnosing

you may find it helpful to read the StatusMonitoringHowTo


Use top to see what is happening with your system

$top

press i to hide the idle processes

$lsof -p

will list all the files open by each process (there will be a lot but might give you a starting point).

Performance Issues

What follows are some commands to try in isolating performance issue.

Disk

MythTV should only be writing to your disk every 3 to 5 seconds.

What processess are likely to be writing to disk

1. Mysql :Note that some distros have mysql logging turned on If you want to turn off the mysql logging, comment out the line in /etc/mysql/my.cnf containing '/var/log/mysql/mysql.log'.

2. Mythbackend logging

3. Mythbackend recording

4. Linux Virtual Memory paging

5. Linux buffer cache flush

6. Commercial Flagging

7. Transcoding

If you experience a high amount of disk activity there are a few things you can check.

You can track which process is reading/writing the disk by doing:

$echo 1 > /proc/sys/vm/block_dump

Then use 'dmesg' to tell you which process is using the disk. Turn off tracking again with

$echo 0 > /proc/sys/vm/block_dump






Previous Up Next
Go-prev.png User Manual:Accessory Modules Go-up.png User Manual:Index User Manual:Regression Testing Go-next.png