Products / Windows app
JServerBeta
JPerformance for your servers. JServer watches the Linux servers in your ~/.ssh/config over SSH, keeps a history
of how they perform, and tells you what is using their memory and CPU. Free, open source (MIT), and out now in beta, with the code on
GitHub.
What beta means
JServer is released and ready to use. It is still new, so some parts will change and you may hit bugs.
Updates come from GitHub Releases. When there is a new version, the bottom of the sidebar shows Install and What's new. Nothing installs until you press Install.
Found a bug? Report it on Discord.
Features
What JServer does
A small helper keeps one SSH login open per server and samples every 5 seconds, even after you close the window.
See every server
- ServersEvery host in
~/.ssh/configgets a card with CPU, memory, disk, swap, uptime, and what is using the most right now. Hosts behind a ProxyJump work too. - One serverCPU, memory, swap, load, network and disk I/O, and a memory breakdown: programs, ZFS cache, file cache and free.
- SSH keysEvery key in
~/.sshand the hosts that use it. Flags weak keys, keys other Windows users can read, missing key files, and whether ssh-agent is running.
Know what is using it
- Grouped by what started itA Proxmox VM ("VM 100 web"), an LXC or Docker container, a systemd service, or a program, each with a short note on what it is.
- FindingsMemory running low, out-of-memory kills, disks filling up, long CPU load, waiting on disk, CPU taken by the VM host, and a pending reboot.
- HistoryCharts for the last hour up to 30 days. Hover a chart to see the numbers on every chart at that moment, and what was running.
Safe to point at production
- Read-onlyOnly reads
/proc,/sys,df,docker psandqm list. Nothing is installed or written on your servers. - Never guessesLogins never prompt and never accept a new or changed host key. A server that fails shows why and a Retry button, with no retrying on its own.
- Background monitoringKeeps watching after you close the window. Tick Start with Windows to keep it going after a restart, or Pause monitoring on a server to log out of it.
How to install
Install JServer
JServer is a single app file. There is no setup to run and no admin rights needed. It uses the SSH client built into Windows and the hosts and keys you already have.
1. Download the app
Click Download for Windows. Your browser saves JServer.exe to your Downloads folder.
2. Put it in a folder
Move JServer.exe to a folder of your own, for example Documents\JServer. Avoid Program Files: JServer replaces its own file when it updates, so it needs a folder you can write to.
3. Open it
Double-click JServer.exe. Windows may show Windows protected your PC, because the app is not signed by a known publisher. Click More info, then Run anyway. JServer logs in to each host in your SSH config and the charts fill in as history builds up.
Get JServer
Download the app
Get the newest version from this site, then follow the install steps above.
From this website
Downloads the newest JServer.exe straight from this site.
Checking the latest release...
From GitHub Releases
Always the newest build. Older versions and release notes are on the Releases page.
Published as a GitHub Release on every update.
From source
Clone the repo and build it with Rust (MSVC toolchain).
git clone https://github.com/Josephivgi/JServer.git
cd JServer
cargo build --release
Your files
Where everything goes
| What | Folder |
|---|---|
| The app | Wherever you put JServer.exe |
| History | %APPDATA%\JServer |
| Hosts and keys it reads | %USERPROFILE%\.ssh |
Uninstall
Untick Start with Windows in the sidebar and close the window. Then end JServer in Task Manager, because background monitoring keeps running, and delete JServer.exe. Delete %APPDATA%\JServer too if you don't want to keep your history. Nothing needs removing from your servers.
System requirements
Windows 10 or Windows 11, 64 bit, with the OpenSSH client that comes with Windows. Linux servers you can log in to with a key and no password prompt.
Command line
JServer.exe --report 24 prints the last 24 hours of findings for every server. --probe <host> logs in once and prints what JServer sees, and --keys prints the key checks. --check-update and --update check for and install a new version.
FAQ
Common questions
How do I see what is using the memory on my Linux server?
Open JServer and pick the server. It groups every process by what started it: a Proxmox VM, an LXC or Docker container, a systemd service, or a program, and ranks them by memory and CPU with a short note on what each one is. It also splits memory into programs, ZFS cache, file cache and free.
Does JServer install anything on my servers?
No. It logs in with your existing SSH keys and only runs read-only commands such as reading /proc and /sys, df, docker ps and qm list. Nothing is installed or written on the server.
Which servers does JServer find?
Every host in your ~/.ssh/config that you can log in to with a key and no password prompt, including hosts reached through a ProxyJump. The servers must run Linux.
What happens when a server can't be reached?
Its card says why, for example a timeout or a rejected key, and shows a Retry button. JServer does not keep retrying on its own, so a rejected key does not get you banned by fail2ban.
Does JServer send my data anywhere?
No. History stays on your PC in %APPDATA%\JServer. The only other thing it asks the internet is GitHub, to check for a new version.
Is JServer open source?
Yes. JServer is free and open source under the MIT license. The code is at github.com/Josephivgi/JServer, and you can build it yourself with Rust.
How do updates work?
JServer checks GitHub Releases when it opens, every 30 minutes, and when you come back to the window. When there is a new version, the bottom of the sidebar shows Install and What's new. Nothing installs until you press Install.