Your Dashboard Shows Your CPU Is Pinned. Our Performance Profiling Tells You Why

Your dashboard tells you your CPU is pinned. What it won’t tell you is which part of your code is responsible. 

It’s something that will cost you twice: once on your hosting bill and an additional time for your players' experience.

That’s why we built out GameFabric's Performance Profiling.

The Two Things CPU Waste Costs You

High CPU utilization on your game servers is two problems at once, and it helps to be precise about both.

The first is economic. Every CPU cycle that your game server wasted on inefficient code is a cycle that's not spent processing player data.

Fewer useful cycles per core means fewer concurrent instances per server. Fewer instances per server means more servers to serve the exact same player count, which shows up directly on your infrastructure bill. 

The second is experiential. The same CPU pressure that bloats your bill also degrades your players' experience. 

When your server is starved for cycles your game starts to feel sluggish because of tick rate drops, stuttering, and poor hit detection. Your players don't know what tick rate is. They just know something feels off, and they’ll be vocal about it.

Both problems have the same root cause and the same fix. You just need to be able to see what the root cause actually is.

What Performance Profiling Does

Performance Profiling is GameFabric's built-in CPU profiler for game servers. It queries CPU usage and turns that into actionable data. 

The data surfaces inside the same Grafana instance your team already knows and loves, accessible from the built-in dashboard within GameFabric.

Both are open-source industry standards, so there's nothing proprietary to learn and nothing that can't fit into your existing workflow. The implementation detail worth understanding is eBPF. Because it operates at the kernel level, observing your server from outside your game container, it requires:

  • No changes to your game server code

  • No SDK to integrate

  • No rocket science

Overhead is kept to a minimum, around 2-3%, which puts it safely in the "run in production" category. That's the point. The tangible performance problems (the ones causing actual player impact) happen under real player load.

Turning It On

When inside an environment you simply navigate to Advanced Options under your Vessel or Armada and toggle Profiling on. That's it.

Once enabled, data collection begins. Profiling only collects data whilst your instance is online, so there's no noise to sift through. The graphs appear in Grafana, and your team can drill into any server to see exactly which functions are consuming CPU. When you're done with monitoring, simply toggle it off.

Where This Gets Operationally Useful

Incident investigation. Your server's unstable, players are affected, and your metrics show the symptom but not the cause. You enable Performance Profiling, look at the graph, and see the process responsible. A question that used to take hours of guessing and debugging now takes only minutes to answer.

Regression tracking. Your new patch ships but servers get a little slower. Nobody can pinpoint which change caused it, because by the time anyone notices, several builds have shipped on top of it. With Performance Profiling enabled across server lifecycles, your team can compare graphs across builds and see exactly when a code path got heavier. The regression isn't a mystery anymore; it has a commit and a function name attached to it.

How It Compares


GameFabric Performance Profiling

SDK-Based Profiler

Pinpoints which code is hot

Yes

Yes

No code changes or SDK

Yes

No

No special rebuild required

Yes

No

In your own Grafana

Yes

No

No separate vendor or bill

Yes

No

Built on open standards

Yes

Often proprietary

Safe for production use

Yes (2-3% overhead)

Varies

SDK-based profilers can give you code-level answers, but there’s a real integration cost: an SDK to add, instrumentation to write, a new build to ship, and a separate vendor relationship to manage. Teams that have been through that process once aren't eager to do it again, which is often why the question of "why is our server pinned" goes unanswered longer than it should.

Performance Profiling doesn't require any of that. It's part of your platform, runs in your infrastructure, and shows up in the Grafana you already have.

Ready to see what your servers are actually doing? Read the Performance Profiling documentation or book a demo to see it in action on a real game server setup.

Weave GameFabric Into Your Game.

Get Started