GoAdmio
GoAdmio Documentation

Process Monitor

From the GoAdmio knowledge base.

Process Monitor

This page explains the Process Monitor screen in the GoAdmio Admin Panel. It shows a live view of every process running on the server, with filtering by process state.

Location: Admin Panel → Server Management → Process Monitor



Overview

The Process Monitor page is GoAdmio's equivalent of the Linux top or htop command — a real-time list of all processes on the server with CPU, memory, and state information. Use it to diagnose high load, find runaway scripts, identify zombie processes, and confirm which services are active.

The page filters processes into tabs by state so you can quickly isolate the ones that need attention.

> Note: For a live, scrollable view with keyboard navigation, use htop over SSH. Process Monitor gives you a snapshot with clickable filters, which is often faster for quick checks.



Tabs

The top of the page has tabs that filter the process list by state.

| Tab | Shows |
|---|---|
| All Processes | Every process on the server, regardless of state |
| Running Processes | Processes currently executing on a CPU |
| Sleeping Processes | Processes waiting for an event (interruptible sleep, S) |
| Zombie | Processes that have exited but not yet been reaped by their parent (Z) |
| Uninterruptible Sleep | Processes waiting on I/O (usually disk), D state |
| Stopped | Processes paused by a signal (T state) |
| Idle | Kernel idle tasks |
| Kernel Thread | Kernel threads (children of kthreadd) |

> Tip: Most processes on a healthy server are Sleeping — that is normal. A Running process is one that is actively using the CPU at the moment of the snapshot.



Process States Explained

| State | Letter | Meaning | Action needed |
|---|---|---|---|
| Running | R | Executing on a CPU, or ready to run | None — healthy |
| Sleeping | S | Waiting for an event (I/O, timer, signal) | None — normal |
| Uninterruptible Sleep | D | Waiting on I/O (usually disk or NFS) | Investigate if many or long-lived — indicates I/O stall |
| Zombie | Z | Exited, waiting for parent to reap it | Investigate if persistent — parent is not calling wait() |
| Stopped | T | Paused by SIGSTOP or a debugger | Resume with kill -CONT <pid> or investigate |
| Idle | — | Kernel idle task (one per CPU core) | None — normal |
| Kernel Thread | — | Threads spawned by the kernel (e.g., kworker, kswapd) | Usually none; investigate if kernel threads dominate CPU |



Columns

Each process row shows:

| Column | Description |
|---|---|
| PID | Process ID |
| PPID | Parent process ID |
| User | Owner of the process |
| %CPU | Percentage of CPU used |
| %MEM | Percentage of total RAM used |
| RSS | Resident memory size (physical RAM used) |
| VSZ | Virtual memory size |
| STAT | State and flags (R, S, D, Z, T, I, <, N, s, l) |
| Start | When the process started |
| Time | Total CPU time consumed |
| Command | Command line that started the process |

> Tip: Sort by %CPU or %MEM to find the biggest consumers. Sort by Time to find long-running processes.



Common Process Patterns

Healthy Server

  • Most processes in Sleeping state
  • A few Running processes (Apache, PHP-FPM, MySQL workers)
  • One Idle task per CPU core
  • Kernel threads (kworker, ksoftirqd, kswapd) doing light work
  • Zero zombies (or a transient one or two)

Warning Signs

| Sign | Possible cause | What to do |
|---|---|---|
| Many D (Uninterruptible Sleep) processes | Disk I/O stall, failing disk, NFS timeout | Check disk health and Server Information RAID state |
| Persistent Z (Zombie) processes | A parent process is not reaping children | Identify the PPID and restart the parent service |
| mysqld at high %CPU | Slow queries, missing indexes | Run /go/mysqltop, /go/querytop, and Add Missing Indexes |
| Many php-fpm at high %CPU | Heavy traffic or runaway scripts | Check Apache Status and /go/httptop |
| httpd workers at high %CPU | Attack or slow page | Use /go/iptop, /go/bottop block |
| kswapd at high CPU | Memory pressure, swapping | Reduce per-account memory or add RAM; see Initial Quota Setup |
| Hundreds of processes for one user | Fork bomb or runaway script | Terminate the user's processes; review PHP Disable Functions |



Acting on a Process

> Warning: Killing the wrong process can take down a service or corrupt data. Always confirm the PID, owner, and command before terminating.

From the panel

  1. Locate the process row.
  2. Use the available action (usually Kill or Terminate).
  3. Confirm.

From the command line

```bash

Graceful stop (SIGTERM)


kill <pid>

Force kill (SIGKILL) — last resort

kill -9 <pid>

Resume a stopped process

kill -CONT <pid>

Find the parent of a zombie

ps -o ppid= -p <zombie_pid>
↑