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.
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
2. vmstat Reports virtual memory statistics.
vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 73236 21024 396016 0 0 16 32 23 9 2 1 95 0 2
Commands
vmstat # Reports virtual memory statistics. free -h # Displays memory usage. mpstat # Reports CPU usage.
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.
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.
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.