Linux+ Guide to Linux Certification Chapter Fourteen Troubleshooting and Performance.

Post on 03-Jan-2016

237 views 6 download

Tags:

transcript

Linux+ Guide to Linux Certification

Chapter Fourteen

Troubleshooting and Performance

ObjectivesObjectives

• Describe and outline common troubleshooting procedures

• Identify good troubleshooting practices• Effectively troubleshoot common hardware-related

problems• Effectively troubleshoot common software-related

problems• Monitor system performance using command-line and

graphical utilities• Understand the purpose and usage of kernel modules

Troubleshooting MethodologyTroubleshooting Methodology

Figure 14-1:The maintenance cycle

Troubleshooting MethodologyTroubleshooting Methodology

• Monitoring– Process by which system areas are observed for

problems or irregularities

• Proactive maintenance– Measure taken to reduce future system problems

• Reactive maintenance– Measure taken when system problems arise

Troubleshooting MethodologyTroubleshooting Methodology

• Documentation– System information that is stored in a log book

for future references

• Troubleshooting procedures– The tasks performed when solving system

problems

Troubleshooting MethodologyTroubleshooting Methodology

Figure 14-2: Common troubleshooting procedures

Troubleshooting MethodologyTroubleshooting Methodology

• Two golden rules to guide you during any troubleshooting process:– Prioritize problems

• Prioritize the problems according to severity and spend a reasonable amount of time on each problem given its priority

– Try to solve the root of the problem• To avoid missing the underlying cause of any problem, try

to justify why a certain solution is successful

Hardware-Related ProblemsHardware-Related Problems

Figure 14-3: The KDE Control Center

Hardware-Related ProblemsHardware-Related Problems

• The absence of a device driver will also prevent the operating system from using the associated hardware devices

• Kudzu program– Program used to detect and install support for

new hardware

Hardware-Related ProblemsHardware-Related Problems

Figure 14-4: The kudzu welcome screen

Hardware-Related ProblemsHardware-Related Problems

Figure 14-5: Configuring new hardware using kudzu

Hardware-Related ProblemsHardware-Related Problems

• If the hard disk that contains the / filesystem fails, then perform the following steps:– Power down the computer and replace the failed

hard disk– Reinstall Linux on the new hard disk– Restore the original configuration and data files

using a back-up utility

Software-Related Problems:Software-Related Problems:Application-Related ProblemsApplication-Related Problems

• Dependencies– The prerequisites required for program execution

such as shared libraries or other packages

• ldd command– Command used to display the shared libraries

used by a certain program

Software-Related Problems:Software-Related Problems:Application-Related ProblemsApplication-Related Problems

• ldconfig command– Command that updates the /etc/ld.so.conf and

/etc/ld.so.cache files

• /etc/ld.so.conf files– File that contains a list of directories that contain

shared libraries

• /etc/ld.so.cache file– File that contains the location of shared library

files

Software-Related Problems:Software-Related Problems:Application-Related ProblemsApplication-Related Problems

• Filehandles– Connection that a program makes to files on a

filesystem

• unlimit command– Command used to modify process limit

parameters in the current shell

• /var/log directory– Directory that contains most system log files

Software-Related Problems:Software-Related Problems:OS-Related ProblemsOS-Related Problems

• Most software-related problems are related to the operating system itself– These typically involve problems with boot

loaders, filesystems, and serial devices

• mkbootdisk command– Command used to create a boot floppy diskette

Software-Related Problems:Software-Related Problems:OS-Related ProblemsOS-Related Problems

Figure 14-6: The Red Hat Linux installation welcome screen

Software-Related Problems:Software-Related Problems:OS-Related ProblemsOS-Related Problems

Figure 14-7: Obtaining a shell in rescue mode

Software-Related Problems:Software-Related Problems:OS-Related ProblemsOS-Related Problems

Figure 14-8: The command-line shell used in rescue mode

Software-Related Problems:Software-Related Problems:OS-Related ProblemsOS-Related Problems

Table 14-1: Common keywords used with the setserial utility

Performance MonitoringPerformance Monitoring

• Jabbering– Process by which failing hardware components

send large amounts of information to the CPU

• Bus mastering– Process by which peripheral components perform

tasks normally executed by the CPU

Performance MonitoringPerformance Monitoring

• To ease identification of performance problems, you should run performance utilities on a healthy Linux system on a regular basis during normal business hours and record results in a system log book

• Baseline– A measure of normal system activity

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

• System Statistics (sysstat) package– Software package that contains common

performance monitoring utilities such as mpstat, iostat, sar, and isag

• Multiple Processor Statistics (mpstat) utility– Command that displays CPU statistics

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

• Input/Output Statistics (iostat) command– Command that displays Input/Output statistics for

block devices

• System Activity Reporter (sar) command– Command that displays various system statistics

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

Table 14-2: Common options to the sar command

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

Table 14-2 (continued): Common options to the sar command

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

• If there are a large number of pages being sent to and taken from the swap partition, then the system will suffer from slower performance– To remedy this, you could add more physical

memory (RAM) to the system

• Interactive System Activity Grapher (isag) command– Command used to graph system performance

information stored in the /var/log/sa directory

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

Figure 14-9: Choosing a file to view using the System Activity Grapher

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

Figure 14-10: Choosing statistics using the System Activity Grapher

Monitoring Performance with Monitoring Performance with sysstat Utilitiessysstat Utilities

Figure 14-11: Viewing user statistics using the System Activity Grapher

Other Performance Monitoring Other Performance Monitoring UtilitiesUtilities

• free command– Command used to display memory and swap

statistics

• vmstat command– Command used to display memory, CPU, and

swap statistics

Kernel ModulesKernel Modules

• Many device drivers and kernel features are compiled into the kernel– However, these may also be inserted into the

kernel as modules to reduce the size of the kernel

• It is good form to compile standard device support into the kernel and leave support for other devices and features as modules

Kernel ModulesKernel Modules

• insmod command– Command used to insert a module into the Linux

kernel

• modprobe command– Command used to insert a module and all necessary

prerequisites modules into the Linux kernel

• lsmod command– Command that lists modules currently used by the

Linux kernel

Kernel ModulesKernel Modules

• rmmod command– Command that removes a module from the Linux

kernel

• /etc/modules.conf file– File used to load and alias modules at system

initialization

• /etc/rc.d/rc.local file– File used to load modules at system initialization

Compiling a New Linux KernelCompiling a New Linux Kernel

• To gain certain hardware or kernel support, it may be necessary to recompile the current kernel with different features or download the source code for a newer kernel and compile it

• /usr/src/linux– The directory that contains source code for the

Linux kernel during compilation

Compiling a New Linux KernelCompiling a New Linux Kernel

Figure 14-12: The make menuconfig interface

Compiling a New Linux KernelCompiling a New Linux Kernel

Figure 14-13: The make xconfig interface

Compiling a New Linux KernelCompiling a New Linux Kernel

Figure 14-14: Configuring code maturity level options

Compiling a New Linux KernelCompiling a New Linux Kernel

Figure 14-15: Configuring USB support

Patching the Linux KernelPatching the Linux Kernel

• To install a more current Linux kernel version, you normally download the source code for that kernel and place it in a directory that will be referenced by /usr/src/linux

• Patch command– Command used to supply a patch to the Linux

kernel source code

Chapter SummaryChapter Summary

• After installation, Linux administrators monitor the system, perform proactive and reactive maintenance, and document important system information

• Common troubleshooting procedures involve collecting data to isolate and determine the cause of system problems, as well as implementing and testing solutions that can be documented for future use

• System problems may be categorized as hardware- or software-related

Chapter SummaryChapter Summary

• IRQ conflicts, invalid hardware settings, absence of kernel support, and hard disk failure are common hardware-related problems on Linux systems

• Software-related system problems may be further categorized as application-related or operating system-related

• System performance is affected by a variety of hardware and software factors

Chapter SummaryChapter Summary

• Using performance monitoring utilities to create a baseline is helpful when diagnosing performance problems in the future

• System features and hardware support may be compiled into the Linux kernel or provided by a kernel module

• You may compile a Linux kernel with only the necessary features and support in order to increase system performance