High CPU usage after april update..Solved

I noticed the server CPU load jumps a lot after the update, is that true for everyone?

It has stayed steady for me.

I checked on different hostings, the CPU load jumps by half.

Previously, this happened after updating the oxide compiler, and even earlier when optimizing network multithreading, and now I don’t know, but the problem is in the update

I should have mentioned that I use carbon, so maybe it's an oxide issue rather than the rustserver.

fixed in last oxide update

I have some problem



Merged post

last oxide update not solved problem

Merged post

every 5 minutes CPU load increases

OkYVt0YyRGfPHz6.jpeg



Merged post

my server on linux

Merged post

from rust hotfix: 

  • Fixed Ping Estimator potentially causing minor server stall every 5 minutes


Merged post

last rust update not solved problem :D

Your base load is 20? That's already very high, even without the peak. You should use 'top' and 'ps' to see what's causing it.

I downloaded plugin from discord channel #server-owner-help and this solved problem with periodicaly stall server

XpBhmpUR6sHBukC.jpg AVOCoder

I downloaded plugin from discord channel #server-owner-help and this solved problem with periodicaly stall server

Which plugin on which discord? 

Rust discord, here's a copy, doesn't work for me but gl with it

//Reference: 0Harmony
//Reference: Facepunch.Ping
using Facepunch.Rust;
using Harmony;
using Oxide.Core;
using System.Linq;
using System.Collections.Generic;
using System.Reflection;
using System.Reflection.Emit;
using UnityEngine;

namespace Oxide.Plugins {
	[Info("stop the ping nonsence", "uknown", "4.2.0")]
	[Description("figure out the region and stop pinging! The server is not physically moving every 5 minutes")]
	class StopStupidPings : CovalencePlugin {

		private HarmonyInstance _harmonyInstance;

		private void Unload() { _harmonyInstance.UnpatchAll(_harmonyInstance.Id); }
		private void Init() {
			_harmonyInstance = HarmonyInstance.Create(Name);
			_harmonyInstance.Patch(AccessTools.Method(typeof(Facepunch.Ping.PingEstimater), "RefreshCacheIfExpired"),
				prefix: new HarmonyMethod(typeof(PingRegionStop),
					nameof(PingRegionStop.Prefix)));
		}

		private static bool HasChecked = false;
		private class PingRegionStop {
			internal static bool Prefix() {
				if (!HasChecked) { HasChecked = true; return true; }
				return false;
			}
		}

	}
}​

Based on post #6 and fix in post #10 that helped stopped the cpu load every 300 seconds.

another version, basically the same thing, from oxide discord, more closely matches the harmony mod fix, verfied works on my server

// Reference: Facepunch.Ping

#if CARBON
#else
// Reference: 0Harmony
#endif

using System;
using Facepunch.Ping;

#if CARBON
using HarmonyLib;
#else
using Harmony;
#endif

namespace Oxide.Plugins
{
    [Info("Ping Estimator Fix", "rostov114", "0.1.0")]
    class PingEstimatorFix : RustPlugin
    {
#if CARBON
        private Harmony _harmony;
#else
        private HarmonyInstance _harmony;
#endif

        private static bool _hasCached;

        #region Init
        private void Init()
        {
#if CARBON
            _harmony = new HarmonyLib.Harmony(Name + "PATCH");
            _harmony.PatchAll();
#else
            _harmony = HarmonyInstance.Create(Name + "PATCH");
            Type[] patchType =
            {
                AccessTools.Inner(typeof(PingEstimatorFix), "PingEstimater_RefreshCacheIfExpired"),
            };
            foreach (var t in patchType) { new PatchProcessor(_harmony, t, HarmonyMethod.Merge(t.GetHarmonyMethods())).Patch(); }
#endif
        }

        private void Unload()
        {
            _harmony.UnpatchAll(Name + "PATCH"); //Unpatch harmony
        }
        #endregion

        #region Harmony
        [HarmonyPatch(typeof(PingEstimater), "RefreshCacheIfExpired")]
        public static class PingEstimater_RefreshCacheIfExpired
        {
            [HarmonyPrefix]
            public static bool Prefix()
            {
                bool flag;
                if (_hasCached)
                {
                    flag = false;
                }
                else
                {
                    _hasCached = true;
                    flag = true;
                }

                return flag;
            }
        }
        #endregion
    }
}​

OMG i have been pulling my hair out trying to figure out why my server is lagging so bad after the updates thursday, is facepunch or Oxide working on a fix? or should i move over to carbon?

there is an oxide fix above your post, its a facepunch issue, not oxide or other issue, we all know they (facepunch) dont tell us much. I just want to know, who the hell they had this this thing, that could not see that performance issue. moving to carbon will not change that

ok thanks, I kinda didnt want to use carbon anyways, so i hope facepuch moves fast, it is devistating my server!!

Locked automatically