How to Monitor Real-Time CPU Usage Per Process on Raspberry Pi Without sudo

Running a Raspberry Pi without root access can feel limiting, especially when you're trying to figure out which processes are hogging CPU. But guess what? You don’t need sudo to get powerful insights. In this post, I’ll walk you through easy, real-time methods to monitor CPU usage per process, 100% without root privileges.

View Real-Time CPU Stats

Why Would You Monitor CPU Without sudo?

  • You’re working on a shared Raspberry Pi, such as in classrooms or hosted environments.
  • Your app or project has limited user-level access (like IoT devices or kiosks).
  • You want a lightweight way to track performance—no bloated tools or admin hurdles.

Method 1: Use ps to View Real-Time CPU Stats

  • Want a quick view of top CPU consumers? Just run: ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head
  • Need real-time updates? Try this loop: while sleep 2; do ps -eo pid,cmd,%cpu --sort=-%cpu | head; done
  • This shows which processes are working the hardest—no need for admin rights.
  • Bonus: works seamlessly on Raspberry Pi OS and most Linux distros.

Method 2: Check CPU Stats from /proc/[pid]/stat

  • Every process has a stats file in /proc/<pid>/stat. Inside, you'll find CPU usage metrics.
  • Use this script to track CPU over time for any process:
    #!/bin/bash
    prev=$(awk '{print $14+$15}' /proc/$$/stat)
    while sleep 1; do
      now=$(awk '{print $14+$15}' /proc/$$/stat)
      delta=$((now-prev))
      echo "CPU usage last second: $((delta*100/100))%"
      prev=$now
    done
    
  • Replace $$ with any PID to track another process.

Method 3: Compare /proc/stat and /proc/[pid]/stat

  • Want to be precise? Read total CPU time from /proc/stat and compare it to your target process.
  • Use this formula: (delta_process / delta_total_cpu) * 100 to calculate real usage.
  • Perfect for dashboards or logging scripts—no root needed.

Bonus Tip: Visualize with gnuplot or HTML Charts

  • Store your output as CSV or JSON.
  • Use gnuplot or HTML5/JavaScript charts to visualize trends over time.
  • Great for long-term monitoring or automated reports.

Tools & Helpful Links

#RaspberryPi #LinuxCLI #MonitorCPU #NoRootNeeded #TechTips

FAQs

Can I monitor CPU usage without root access?

Absolutely. Commands like ps and scripts using the /proc filesystem give you a full view of process-level CPU usage—no sudo needed.

How accurate is CPU % from `ps`?

It offers a solid snapshot but may miss finer detail. For deeper insights, calculate usage differences using /proc/[pid]/stat.

Can I monitor total and per-process CPU usage at the same time?

Yes! Just compare values from /proc/stat and /proc/[pid]/stat. This method gives you total CPU load and individual process impact together.