@avinashmanhas9/syspulse
v1.0.12
Published
CLI tool for system monitoring - ports, network, memory, CPU, disk, processes, git, and Docker
Downloads
904
Maintainers
Readme
syspulse
syspulse is a fast CLI tool for checking system health from the terminal. It works on both Linux and Windows and helps inspect ports, network, memory, CPU, disk, processes, services, logs, Docker, and Git repository state.
Why syspulse
Traditional troubleshooting usually means jumping between commands such as top, ps, df, free, ss, journalctl, dmesg, systemctl, iostat, and vmstat on Linux — or tasklist, netstat, sc, wevtutil, and resmon on Windows. Those tools are powerful, but they report isolated signals. During an incident, the hard part is often connecting those signals quickly.
syspulse keeps the underlying checks read-only and familiar, but adds a unified diagnostic layer:
- One command surface: Use consistent commands such as
syspulse memory --pressure,syspulse disk --io,syspulse process --hot, andsyspulse kernel --oomon any supported OS. - Correlated findings:
syspulse diagnosecombines CPU, memory, disk, services, processes, and kernel/event-log signals into a single health snapshot. - Human-readable insights: Instead of only raw counters, it highlights likely causes such as memory pressure, failed services, full filesystems, kernel errors, or Docker daemon access issues.
- Health scoring: Diagnostic output includes severity and score-style summaries so issues are easier to prioritize.
- Safer production use: Commands are read-only, bounded by default, and avoid expensive tracing or packet capture.
- Graceful fallbacks: When tools such as
journalctl,iostat,pidstat,systemctl, or Docker are unavailable,syspulseexplains what is missing instead of failing silently. On Windows, native equivalents (wevtutil,sc,tasklist,netstat) are used automatically.
Example:
syspulse diagnoseRather than manually comparing free, vmstat, df, systemctl --failed, and kernel logs, syspulse diagnose summarizes the current health state and suggests the next command to run.
Prerequisites
- Node.js >=18.0.0
- npm
- Works on Linux and Windows (macOS has partial support)
Check your Node.js version:
node --versionIf Node.js is older than 18, upgrade it before installing:
nvm install 20
nvm use 20The package also includes an install-time Node.js version check. If the runtime is too old, install stops early and prints upgrade steps.
Installation
Install globally:
npm install -g @avinashmanhas9/syspulseRun:
syspulse
syspulse --helpIf you previously installed the old package name, remove it first:
npm uninstall -g @avinashmanhas9/sysview
npm install -g @avinashmanhas9/syspulseLocal Development
Clone and build:
git clone https://github.com/avinashmanhas-sketch/CLI-tool.git
cd CLI-tool
npm install
npm run buildRun locally:
npm run start
node dist/main.js --help
node dist/main.js healthTypeScript is configured with module and moduleResolution set to Node16.
Docker
Build the image:
docker build -t avinashmanhas-sketch/syspulse:latest .Run a command:
docker run --rm avinashmanhas-sketch/syspulse:latest cpu
docker run --rm avinashmanhas-sketch/syspulse:latest memoryTo inspect host Docker data from inside the container, mount the host Docker socket:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock avinashmanhas-sketch/syspulse:latest dockerCommands
| Command | Description |
| ------------------------------------------ | --------------------------------------------------------------------- |
| syspulse | Show available commands |
| syspulse health | System health summary |
| syspulse diagnose | Correlate system signals and suggest likely root causes |
| syspulse kernel | Kernel warnings, OOM events, and hardware errors (Windows: Event Log) |
| syspulse services | Service status (Linux: systemd · Windows: SCM) |
| syspulse logs | Recent warning/error logs (Linux: journalctl · Windows: Event Log) |
| syspulse ports | Listening ports |
| syspulse network | Network connections and interfaces |
| syspulse memory / syspulse mem | Memory usage |
| syspulse cpu | CPU usage |
| syspulse disk | Disk usage |
| syspulse docker | Docker containers, images, and volumes |
| syspulse ps | Running processes |
| syspulse process / syspulse proc | Process tree or detailed process list |
| syspulse top | Interactive process monitor |
| syspulse git | Git repository information |
| syspulse kill <pid-or-port> | Kill a process by PID or port |
| syspulse watch | Real-time dashboard |
| syspulse dashboard / syspulse dash | Full dashboard |
Diagnostics Examples
System health summary:
syspulse health
syspulse diagnose
syspulse diagnose --jsonService checks:
syspulse services
syspulse services --failed
syspulse services --all
syspulse services -n 50Log checks:
syspulse logs
syspulse logs --errors
syspulse logs --kernel
syspulse logs -n 100Kernel checks:
syspulse kernel
syspulse kernel --oom
syspulse kernel --hardware
syspulse kernel -n 100Resource checks:
syspulse cpu
syspulse memory
syspulse memory --pressure
syspulse memory --top
syspulse disk
syspulse disk --io
syspulse disk --inode
syspulse disk --top
syspulse network
syspulse network --errors
syspulse network --connections
syspulse network --latency 8.8.8.8
syspulse network --dns example.comProcess checks:
syspulse ps
syspulse ps --memory
syspulse process --hot
syspulse process --zombies
syspulse process --pid 1234
syspulse process --tree
syspulse top -i 1000 -n 10Port and kill workflow:
syspulse ports
syspulse kill 3000
syspulse kill 42872 -fGit checks:
syspulse git
syspulse git --branches
syspulse git --log 20
syspulse git --diff
syspulse git --allWatch mode and dashboard:
syspulse watch --start
syspulse watch -i 1000
syspulse dashboardPublishing
Build before publishing:
npm run build
npm publish --access=publicAfter publishing, verify the package exists:
npm view @avinashmanhas9/syspulse versionFeatures
- Cross-platform: Full support for Linux and Windows; macOS partial support
- Read-only system diagnostics for common troubleshooting on both Linux and Windows
- Health summary for CPU, memory, swap, disk pressure, processes, and failed services
- Root-cause-oriented
diagnosecommand with JSON output - Deep process checks for hot processes, zombies (Linux), and per-PID details
- Disk I/O, inode (Linux), and per-process I/O diagnostics
- Memory pressure analysis: uses
/proc/meminfo+vmstaton Linux; falls back tosysteminformationon Windows - Network error, connection, latency, and DNS checks on both platforms
- Kernel/event-log inspection:
journalctl/dmesgon Linux ·wevtutilon Windows - Service inspection:
systemctlon Linux ·sc queryon Windows - Log inspection:
journalctlon Linux · Windows Event Log (wevtutil) on Windows - Process termination:
killsignals on Linux ·taskkillon Windows - Process/port, Docker, Git, and network visibility
- Color-coded terminal output for quick scanning
Platform Feature Matrix
| Feature | Linux | Windows |
| ------------------------- | ---------------------- | ------------------------------------ |
| CPU, Memory, Disk usage | ✅ | ✅ |
| Process list / tree / hot | ✅ | ✅ |
| Kill by PID or port | ✅ (kill) | ✅ (taskkill) |
| Services | ✅ (systemctl) | ✅ (sc query) |
| Logs | ✅ (journalctl) | ✅ (wevtutil) |
| Kernel / Event log | ✅ (dmesg) | ✅ (Windows Event Log) |
| Network errors | ✅ (ip -s link) | ✅ (netstat -e) |
| Ping / DNS | ✅ | ✅ |
| Memory pressure details | ✅ (/proc/meminfo) | ✅ (via systeminformation) |
| Disk I/O (iostat) | ✅ | ⚠️ Not available — use resmon |
| Disk inodes (df -ih) | ✅ | ⚠️ Not applicable (NTFS) |
| Per-process disk I/O | ✅ (pidstat) | ⚠️ Not available — use resmon |
| Zombie processes | ✅ | ⚠️ Not applicable (Windows GC) |
| Process deep (/proc) | ✅ | ✅ (tasklist / wmic) |
| Docker | ✅ | ✅ |
| Git | ✅ | ✅ |
Links
- npm: https://www.npmjs.com/package/@avinashmanhas9/syspulse
- GitHub: https://github.com/avinashmanhas-sketch/CLI-tool
