SysDiag is a diagnostic tool for Linux systems, developed by Marco Domingues / SynchLabs. It provides a modern CLI experience, auto-reporting, issue detection, and export functionality — all without requiring root access.
- ✅ Dependency check with optional install prompt
- 🌡️ Temperature readings: CPU, GPU sensors (
sensors
,nvidia-smi
) - 🧠 Diagnostics: CPU, RAM, disk, GPU, network, drivers, logs
- 🔥 Real stress tests for CPU/RAM (
stress
,stress-ng
) - 🧩 Log analysis with issue detection for:
- BIOS misconfigurations (
SGX
,VMX
) - GNOME session/keyring failures
- Bluetooth and driver problems
- BIOS misconfigurations (
- 📋 Detailed test summary with icons, duration, and notes
- 📊 Export formats:
HTML
: full visual report with collapsible logsJSON
: includes date, error count, and test listCSV
: spreadsheet-friendlyMarkdown
: GitHub-friendly tableSVG
: graphical summary
⚠️ Issues section shown in terminal summary- ❌ No root required — fully functional without
sudo
Tool | Purpose |
---|---|
sensors |
CPU/GPU temperature sensors |
stress |
Stress test for CPU and RAM |
glmark2 |
GPU benchmarking |
lshw |
Hardware overview |
lscpu |
CPU info |
lsblk |
Disk and partition details |
dmidecode |
BIOS, memory, vendor info |
sudo apt update
sudo apt install lm-sensors stress glmark2 lshw lscpu lsblk dmidecode -y
sudo apt remove --purge lm-sensors stress glmark2 lshw dmidecode -y
All reports are saved in:
~/.local/share/sysdiag/
File Name | Description |
---|---|
sysdiag_report.html |
HTML report (collapsible logs) |
sysdiag_summary.json |
JSON with date, error count, summary |
sysdiag_summary.csv |
Spreadsheet-friendly CSV |
sysdiag_summary.md |
Markdown-formatted table |
sysdiag_status.svg |
Color-coded SVG overview |
sysdiag_YYYY-MM-DD_HH-MM-SS.log |
Full plain text logs |
{
"date": "Wed May 21 12:00:00 2025",
"errors": 2,
"summary": [
{
"test": "GPU Benchmark",
"status": "SKIP",
"duration": "0.00",
"note": "Skipped"
},
{
"test": "Driver Errors",
"status": "WARN",
"duration": "0.01",
"note": "Permission denied"
}
]
}
chmod +x sysdiag.sh
./sysdiag.sh
⚠️ Ifdmesg
access fails:sudo sysctl -w kernel.dmesg_restrict=0
🛰️ Marco Domingues
🔧 SynchLabs
🐙 GitHub: @MarkADom
MIT License — Free to use, modify, and distribute.