Original research
FiveM resource CPU cost, measured across 674 real servers
What this is
191,575 individual resource timings collected from 674 distinct FiveM servers between 2026-03-06 and 2026-10-05, covering 41,950 distinct resource names. The most widely deployed resource is tick (monitor) on 656 of 674 servers. The single most expensive tick ever recorded is 1268.1 ms from event:QBCore:Server:TriggerCallback (qb-core). Free to use under CC BY 4.0, with a CSV download below.
Read this before using the numbers
- The sample is self-selected. These profiles came from people who chose to run a profiler, and most people do that because something is already wrong. Absolute costs here almost certainly skew worse than a random sample of FiveM servers would. Use the data to compare resources against each other, not to judge whether your own server is normal.
- A resource is not a verdict. A high figure next to a resource name usually means a server is using it heavily or misconfiguring it, not that the resource is badly written. The most widespread resources naturally accumulate the most extreme outliers.
- Framework counts are name matches. We count servers having a resource whose name contains, say,
es_extended. That is a proxy for framework use, not a declared dependency. - Only resources seen on 10 or more servers are listed. Of 41,950 distinct names, the large majority appear on a single server — bespoke scripts and renamed copies. Publishing those would be noise.
Highest single ticks ever recorded
The worst one-off spike observed for each resource, among those appearing on 10 or more servers. A spike above roughly 50 ms is a visible hitch for players, since the server tick budget is about 50 ms.
| Resource | Worst tick | Avg per tick | Servers |
|---|---|---|---|
event:QBCore:Server:TriggerCallback (qb-core) | 1268.1 ms | 2.379 ms | 66 |
tick (oxmysql) | 1023.9 ms | 0.093 ms | 605 |
tick (ox_doorlock) | 932.9 ms | 0.586 ms | 96 |
tick (dnc_police) | 759.1 ms | 16.610 ms | 14 |
event:__ox_cb_jg-advancedgarages:server:nearby-players (jg-advancedgarages) | 659.0 ms | 13.575 ms | 86 |
event:cocottMonsters:getPlayerData (cocott-monsters) | 634.8 ms | 88.209 ms | 12 |
event:esx:triggerServerCallback (es_extended) | 571.5 ms | 1.716 ms | 140 |
event:wasabi_ambulance:setDeathStatus (wasabi_ambulance) | 529.1 ms | 6.532 ms | 73 |
event wasabi_ambulance:setDeathStatus [@blueberry/shared_fg-obfuscated.lua[1..1]] | 525.1 ms | 11.180 ms | 34 |
tick (ns_sync) | 500.2 ms | 2.823 ms | 16 |
event QBCore:Server:TriggerCallback [@blueberry/shared_fg-obfuscated.lua[1..1]] | 484.0 ms | 2.525 ms | 42 |
tick (blips_creator) | 392.4 ms | 0.117 ms | 45 |
Highest sustained cost per tick
Mean per-tick cost, among resources on 25 or more servers. Unlike the table above, this is the cost a resource imposes continuously rather than in occasional spikes — it is what quietly lowers your baseline frame time.
| Resource | Avg per tick | Worst tick | Servers |
|---|---|---|---|
tick (ox_stashdurability) | 31.124 ms | 212.3 ms | 43 |
event __ox_cb_jg-advancedgarages:server:nearby-players [@blueberry/shared_fg-obfuscated.lua[1..1]] | 15.773 ms | 232.9 ms | 33 |
event:__ox_cb_jg-advancedgarages:server:nearby-players (jg-advancedgarages) | 13.575 ms | 659.0 ms | 86 |
event wasabi_ambulance:setDeathStatus [@blueberry/shared_fg-obfuscated.lua[1..1]] | 11.180 ms | 525.1 ms | 34 |
event chat:init [@chat/sv_chat.lua[264..281]] | 10.771 ms | 29.2 ms | 27 |
event:chat:init (chat) | 10.058 ms | 38.7 ms | 56 |
event hospital:server:resetHungerThirst [@blueberry/shared_fg-obfuscated.lua[1..1]] | 9.428 ms | 169.6 ms | 25 |
event:hospital:server:resetHungerThirst (wasabi_ambulance) | 8.814 ms | 207.0 ms | 30 |
tick (okokReports) | 8.156 ms | 137.5 ms | 38 |
event __ox_cb_jg-advancedgarages:server:nearby-players [?[474..710]] | 7.483 ms | 70.4 ms | 26 |
event:__ox_cb_qbx_core (qbx_core) | 7.108 ms | 22.2 ms | 25 |
event:wasabi_ambulance:setDeathStatus (wasabi_ambulance) | 6.532 ms | 529.1 ms | 73 |
Framework and library footprint
How many of the 674 profiled servers carry a resource matching each name.
605
of 674 servers
oxmysql
572
of 674 servers
pma-voice
504
of 674 servers
ox_lib
462
of 674 servers
ox_target
390
of 674 servers
ox_inventory
215
of 674 servers
ESX (es_extended)
112
of 674 servers
Qbox (qbx_core)
89
of 674 servers
QBCore (qb-core)
Most widely deployed resources
Top 100 resources by number of distinct servers running them. The full filtered table is in the CSV export.
| # | Resource | Servers | Avg per tick | Worst tick |
|---|---|---|---|---|
| 1 | tick (monitor) | 656 | 0.073 ms | 224.0 ms |
| 2 | thread @monitor/resource/sv_logger.lua[31..54] | 643 | 0.041 ms | 75.4 ms |
| 3 | thread @monitor/resource/sv_playerlist.lua[112..134] | 633 | 0.183 ms | 43.4 ms |
| 4 | tick (oxmysql) | 605 | 0.093 ms | 1023.9 ms |
| 5 | tick (pma-voice) | 572 | 0.023 ms | 67.7 ms |
| 6 | tick (ox_target) | 461 | 0.052 ms | 14.2 ms |
| 7 | tick (yarn) | 456 | 0.028 ms | 59.2 ms |
| 8 | event:ox_lib:validateCallback (ox_lib) | 424 | 0.116 ms | 187.6 ms |
| 9 | tick (screenshot-basic) | 420 | 0.022 ms | 131.5 ms |
| 10 | thread @ox_target/server/main.lua[25..48] | 357 | 0.031 ms | 7.3 ms |
| 11 | tick (ox_inventory) | 347 | 0.595 ms | 156.6 ms |
| 12 | tick (webpack) | 342 | 0.020 ms | 26.3 ms |
| 13 | thread @monitor/resource/sv_main.lua[484..489] | 321 | 0.202 ms | 23.1 ms |
| 14 | thread @monitor/resource/sv_main.lua[490..495] | 321 | 0.095 ms | 18.9 ms |
| 15 | event ox_lib:validateCallback [@ox_lib/resource/callbacks/shared.lua[55..65]] | 291 | 0.016 ms | 8.1 ms |
| 16 | thread @monitor/resource/sv_main.lua[482..487] | 263 | 0.172 ms | 78.8 ms |
| 17 | thread @monitor/resource/sv_main.lua[488..493] | 263 | 0.079 ms | 58.0 ms |
| 18 | thread @ox_lib/imports/callback/server.lua[63..63] | 243 | 0.024 ms | 20.9 ms |
| 19 | event:ox_inventory:closeInventory (ox_inventory) | 242 | 0.280 ms | 46.6 ms |
| 20 | event:__ox_cb_ox_inventory:openInventory (ox_inventory) | 228 | 0.504 ms | 51.0 ms |
| 21 | tick (cd_easytime) | 217 | 0.062 ms | 3.0 ms |
| 22 | event:__ox_cb_ox_inventory:useItem (ox_inventory) | 212 | 0.555 ms | 79.8 ms |
| 23 | event:ox_inventory:usedItemInternal (ox_inventory) | 207 | 0.611 ms | 23.1 ms |
| 24 | event:pma-voice:setTalkingOnRadio (pma-voice) | 203 | 0.219 ms | 5.6 ms |
| 25 | event:__ox_cb_ox_inventory (ox_inventory) | 199 | 0.535 ms | 45.9 ms |
| 26 | event:playerConnecting (monitor) | 178 | 0.158 ms | 1.1 ms |
| 27 | tick (rcore_casino) | 176 | 0.101 ms | 43.0 ms |
| 28 | event:__ox_cb_ox_inventory:swapItems (ox_inventory) | 174 | 1.590 ms | 44.6 ms |
| 29 | event:playerJoining (monitor) | 171 | 0.298 ms | 8.9 ms |
| 30 | event playerJoining [@monitor/resource/sv_playerlist.lua[138..168]] | 170 | 0.214 ms | 8.6 ms |
| 31 | tick (screencapture) | 167 | 0.030 ms | 26.8 ms |
| 32 | event:ox_inventory:updateWeapon (ox_inventory) | 165 | 0.591 ms | 57.3 ms |
| 33 | tick (rcore_pool) | 163 | 0.033 ms | 1.3 ms |
| 34 | tick (cd_dispatch) | 162 | 0.172 ms | 3.1 ms |
| 35 | event:chatMessage (monitor) | 161 | 0.162 ms | 7.2 ms |
| 36 | event:esx_status:update (esx_status) | 160 | 0.778 ms | 63.3 ms |
| 37 | thread @monitor/resource/sv_initialData.lua[28..39] | 159 | 0.042 ms | 0.7 ms |
| 38 | thread @cd_easytime/server/server.lua[338..349] | 158 | 0.052 ms | 0.9 ms |
| 39 | thread @cd_easytime/server/server.lua[321..336] | 153 | 0.014 ms | 0.2 ms |
| 40 | event:ox_inventory:usedItem (lb-phone) | 152 | 0.066 ms | 1.9 ms |
| 41 | event:entityRemoved (drugs_creator) | 151 | 0.084 ms | 19.2 ms |
| 42 | event:jg-vehiclemileage:server:update-mileage (jg-vehiclemileage) | 150 | 2.256 ms | 268.5 ms |
| 43 | event entityRemoved [?[41..46]] | 150 | 0.015 ms | 6.0 ms |
| 44 | tick (lb-phone) | 147 | 0.454 ms | 15.8 ms |
| 45 | event:txsv:startedWalking (monitor) | 147 | 0.158 ms | 1.6 ms |
| 46 | event:phone:togglePhone (lb-phone) | 144 | 0.214 ms | 6.2 ms |
| 47 | thread @cd_easytime/server/server.lua[261..271] | 144 | 0.013 ms | 0.3 ms |
| 48 | event:esx:triggerServerCallback (es_extended) | 140 | 1.716 ms | 571.5 ms |
| 49 | tick (drugs_creator) | 138 | 0.739 ms | 96.3 ms |
| 50 | event:playerDropped (monitor) | 138 | 0.211 ms | 2.3 ms |
| 51 | event playerDropped [@monitor/resource/sv_admins.lua[98..100]] | 138 | 0.006 ms | 0.2 ms |
| 52 | event:playerJoining (pma-voice) | 136 | 0.387 ms | 8.8 ms |
| 53 | event playerDropped [@monitor/resource/sv_playerlist.lua[170..194]] | 135 | 0.093 ms | 2.2 ms |
| 54 | event:ox_inventory:usedItem (drugs_creator) | 133 | 0.281 ms | 6.7 ms |
| 55 | event:__ox_cb_illenium-appearance:server:GetPlayerAces (illenium-appearance) | 132 | 0.139 ms | 33.2 ms |
| 56 | thread @monitor/resource/sv_main.lua[426..465] | 132 | 0.099 ms | 3.1 ms |
| 57 | thread @monitor/resource/sv_initialData.lua[24..35] | 131 | 0.045 ms | 4.9 ms |
| 58 | tick (rcore_radiocar) | 130 | 0.052 ms | 4.1 ms |
| 59 | event __ox_cb_ox_inventory:openInventory [@ox_lib/imports/callback/server.lua[121..123]] | 128 | 0.692 ms | 51.0 ms |
| 60 | tick (rahe-speakers) | 128 | 0.064 ms | 27.5 ms |
| 61 | thread @cd_easytime/server/server.lua[273..283] | 126 | 0.015 ms | 0.6 ms |
| 62 | event playerJoining [@ox_lib/imports/addCommand/server.lua[29..31]] | 122 | 0.736 ms | 19.8 ms |
| 63 | event:txsv:checkIfAdmin (monitor) | 122 | 0.342 ms | 8.7 ms |
| 64 | tick (es_extended) | 119 | 1.156 ms | 131.8 ms |
| 65 | event:__ox_cb_jg-mechanic:server:retrieve-and-apply-veh-statebag-data (jg-mechanic) | 119 | 0.389 ms | 14.8 ms |
| 66 | event:playerJoining (ox_inventory) | 116 | 0.112 ms | 1.4 ms |
| 67 | event:__ox_cb_jg-mechanic:server:save-veh-statebag-data-to-db (jg-mechanic) | 115 | 0.416 ms | 20.4 ms |
| 68 | tick (jobs_creator) | 113 | 0.315 ms | 208.4 ms |
| 69 | tick (jg-advancedgarages) | 111 | 0.126 ms | 6.3 ms |
| 70 | event __ox_cb_ox_inventory:useItem [@ox_lib/imports/callback/server.lua[121..123]] | 110 | 0.453 ms | 43.2 ms |
| 71 | event:playerDropped (pma-voice) | 109 | 0.146 ms | 1.3 ms |
| 72 | tick (EasyAdmin) | 108 | 0.102 ms | 106.3 ms |
| 73 | tick (cdev_pets) | 108 | 0.210 ms | 5.9 ms |
| 74 | tick (rcore_prison) | 106 | 0.238 ms | 49.2 ms |
| 75 | event:txsv:logger:deathEvent (monitor) | 106 | 0.137 ms | 3.0 ms |
| 76 | tick (rcore_golf) | 104 | 0.046 ms | 1.6 ms |
| 77 | event __ox_cb_ox_inventory [@ox_lib/imports/callback/server.lua[13..21]] | 103 | 0.376 ms | 45.8 ms |
| 78 | tick (rtx_dj) | 103 | 0.116 ms | 26.9 ms |
| 79 | event:txsv:logger:menuEvent (monitor) | 103 | 0.056 ms | 0.4 ms |
| 80 | event txsv:checkIfAdmin [@monitor/resource/sv_admins.lua[38..94]] | 102 | 0.230 ms | 8.5 ms |
| 81 | event:explosionEvent (monitor) | 102 | 0.131 ms | 1.2 ms |
| 82 | event explosionEvent [@monitor/resource/sv_logger.lua[89..102]] | 102 | 0.013 ms | 1.1 ms |
| 83 | tick (Renewed-Weathersync) | 101 | 0.187 ms | 3.7 ms |
| 84 | event:playerJoining (ox_doorlock) | 101 | 0.088 ms | 1.0 ms |
| 85 | tick (connectqueue) | 100 | 0.108 ms | 4.2 ms |
| 86 | tick (qbx_smallresources) | 99 | 0.107 ms | 10.1 ms |
| 87 | tick (rtx_tv) | 97 | 2.853 ms | 140.4 ms |
| 88 | event __ox_cb_ox_inventory:swapItems [@ox_lib/imports/callback/server.lua[121..123]] | 97 | 1.680 ms | 44.5 ms |
| 89 | tick (ox_doorlock) | 96 | 0.586 ms | 932.9 ms |
| 90 | thread @ox_lib/init.lua[136..147] | 96 | 1.490 ms | 97.0 ms |
| 91 | event:pma-voice:setPlayerRadio (pma-voice) | 96 | 0.297 ms | 7.8 ms |
| 92 | event:entityRemoved (cdev_pets) | 95 | 0.059 ms | 2.5 ms |
| 93 | event:playerDropped (ox_inventory) | 94 | 0.494 ms | 30.7 ms |
| 94 | tick (WaveShield) | 93 | 0.092 ms | 53.1 ms |
| 95 | tick (vertex-hub) | 93 | 0.025 ms | 4.1 ms |
| 96 | thread @Renewed-Weathersync/server/time.lua[22..33] | 93 | 0.207 ms | 3.7 ms |
| 97 | tick (cs-hall) | 92 | 0.670 ms | 8.1 ms |
| 98 | event:__ox_cb_jg-vehiclemileage:server:get-mileage (jg-vehiclemileage) | 91 | 3.503 ms | 176.6 ms |
| 99 | tick (cron) | 90 | 0.090 ms | 13.2 ms |
| 100 | thread @monitor/resource/sv_main.lua[424..463] | 89 | 0.127 ms | 1.0 ms |
Client crash modules
From 61 deduplicated crash dumps uploaded to our crash analyzer. This sample is small and mostly inconclusive — the large majority resolve to fivem.exe itself with no specific faulting module, which tells you little. It is published for completeness, not as a finding.
| Faulting module | Reports |
|---|---|
fivem.exe | 48 |
citizen-devtools.dll | 2 |
gta-streaming-five.dll | 2 |
rage-graphics-five.dll | 2 |
adhesive.dll | 1 |
amdxx64.dll | 1 |
citizen-scripting-core.dll | 1 |
d3d11.dll | 1 |
glue.dll | 1 |
legitimacy.dll | 1 |
repscripts.exe | 1 |
Methodology
- Collection. Profiler dumps voluntarily uploaded to our free FiveM profiler analyzer. No server identity, IP, or player data is stored or published — only resource names and their timings.
- Deduplication. Each upload is hashed by the content of its resource list, so the same server re-uploading does not inflate server counts.
- Exclusions. Engine-internal entries are filtered at ingest — the resource manager tick, anonymous threads, reference calls, task iterations, and CFX-internal events.
- Definitions. Avg per tick is the mean CPU milliseconds the resource consumed per server tick. Worst tick is the single highest value observed. Servers is the count of distinct deduplicated profiles containing that resource.
- Coverage. 2026-03-06 to 2026-10-05, 191,575 measurements, 674 servers. This page regenerates daily.
- Licence. CC BY 4.0 — reuse it with attribution. Corrections and data requests to [email protected].
Questions
- Which FiveM resource uses the most CPU?
- Measured across 674 profiled servers, the resource with the highest mean per-tick cost among those running on 25 or more servers is tick (ox_stashdurability) at 31.124 ms average. The highest single tick ever recorded in this dataset is 1268.1 ms from event:QBCore:Server:TriggerCallback (qb-core). Mean cost and worst-case spike are different problems: a resource that is persistently expensive drags every frame, while a spike causes a visible hitch.
- Is oxmysql slow?
- oxmysql is the most widely deployed database resource in this dataset, appearing on 605 of 674 profiled servers. Its average per-tick cost is low at 0.093 ms, but its worst recorded tick is 1023.9 ms — roughly a full second. That pattern is characteristic of a resource that is cheap in normal operation and occasionally blocks on a slow query. The usual cause is an unindexed query or a synchronous call in a hot path, not oxmysql itself.
- How many FiveM servers run ESX versus QBCore?
- In this sample of 674 servers, 215 carry an es_extended (ESX) resource, 89 carry qb-core, and 112 carry qbx_core (Qbox). Note this counts servers where a resource name matches, which is a proxy for framework use rather than a declared dependency, and the sample is self-selected — see the limitations below.
- Where does this FiveM performance data come from?
- From profiler dumps voluntarily uploaded to GoodLeaf's free FiveM profiler analyzer at /analyze. Each upload is deduplicated by a content hash of its resource list so the same server re-uploading does not inflate the counts. The dataset currently holds 191,575 individual resource timings from 674 distinct servers, covering 2026-03-06 to 2026-10-05.
- Can I use this data?
- Yes. The full table is available as a CSV download and the data is published under CC BY 4.0, so you may reuse it with attribution to GoodLeaf Hosting. If you are writing about FiveM performance and want a figure checked or a cut of the data we have not published, email [email protected].
Profile your own server
This data is useful for comparing resources, but it cannot tell you what is wrong with your server. Upload a txAdmin profiler dump to get a graded report and your own worst offenders ranked. Free, no account, and you do not need to host with us.
Our Products
© 2017-2026 GoodLeaf Hosting & Development LLC. All rights reserved.
GoodLeaf Hosting & Development LLC is an independent provider of server infrastructure. We are not affiliated with GoodLeap financing or GoodLeaf vertical farming. We focus exclusively on High-Performance Game Hosting and Enterprise VPS solutions.