1. System Information
Understanding your system's hardware and software configuration is the first step in diagnostics.
Commands
uname -a # Displays kernel version and system architecture. lscpu # Provides detailed information about the CPU. lsblk # Lists all available block devices. lsusb # Shows USB devices connected to the system. lspci # Lists PCI devices.
2. CPU and Memory Diagnostics
Monitoring CPU and memory usage helps in identifying performance bottlenecks.
htop is an interactive system monitor process viewer and process manager. It is designed as an alternative to the Unix program top. It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage.
htop
htop
Commands
vmstat # Reports virtual memory statistics. free -h # Displays memory usage. mpstat # Reports CPU usage.
3. Disk Usage and Health
Keeping track of disk usage and health is crucial for preventing data loss and ensuring efficient storage management.
Commands
df -h # Shows disk space usage. du -sh /path/to/directory # Displays the size of a specific directory. fdisk -l # Lists all partitions. smartctl -a /dev/sda # Checks the health of a disk (requires smartmontools). iostat # Reports CPU and I/O statistics.
4. Process and Service Management
Managing processes and services is essential for maintaining system stability.
Commands
ps aux # Lists all running processes. systemctl status service_name # Checks the status of a service. journalctl -u service_name # Views logs for a specific service. kill -9 process_id # Forces termination of a process. nice and renice # Adjusts process priority.
5. Logs and Monitoring
Analyzing logs and monitoring system activities can help in identifying issues and tracking system performance.
Commands
dmesg # Prints kernel ring buffer messages. journalctl # Views systemd logs. journalctl -u service_name # Views logs for a specific service. tail -f /var/log/syslog # Continuously displays system log updates. sar # Collects, reports, and saves system activity information (requires sysstat). uptime # Shows how long the system has been running and load averages.