Lower TPS after 3-4 hours of uptime.

Discussion in 'Performance Tweaking' started by alincupunct, Jul 24, 2013.

  1. Hi.
    I got a problem with my server, TPS is getting lower and lower when i get more uptime.
    First 3-4 hours the TPS is 19.5-20 stable , even if there are 100 players on the server.
    After 3-4 hours it starts to get worse and worse.
    We are using a :
    Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz - Processor
    16 GB of DDR3 Ram.
    Server start command is :
    Code (Text):
    screen -A -m -d -S MineCraft java -d64 -Xms7G -Xmx7G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -jar spigot152.jar nogui
    Processor is never higher than 60% on usage.

    bukkit.yml :
    Code (Text):
    # This is the main configuration file for Bukkit.
    # As you can see, there's actually not that much to configure without any plugins.
    # For a reference for any variable inside this file, check out the bukkit wiki at
    # http://wiki.bukkit.org/Bukkit.yml
      allow-end: true
      warn-on-overload: true
      permissions-file: permissions.yml
      update-folder: update
      ping-packet-limit: 100
      use-exact-login-location: false
      plugin-profiling: false
      connection-throttle: 4000
      query-plugins: true
      deprecated-verbose: default
      shutdown-message: Server closed
      whitelist-message: You are not white-listed on this server!
      log-commands: true
      command-complete: true
      - /skill
      filter-unsafe-ips: false
      tab-ping: false
      timeout-time: 60
      restart-on-crash: false
      restart-script-location: start.bat
      texture-resolution: 16
      map-send-interval: 10000
      monsters: 70
      animals: 15
      water-animals: 5
      ambient: 15
      period-in-ticks: 600
      load-threshold: 0
      animal-spawns: 400
      monster-spawns: 1
      autosave: 0
      enabled: true
      - warn-console
      - warn-ops
      - warn-console
      - warn-ops
      preferred-channel: rb
      host: dl.bukkit.org
      suggest-channels: true
      username: bukkit
      isolation: SERIALIZABLE
      driver: org.sqlite.JDBC
      url: jdbc:sqlite:{DIR}{NAME}.db
        growth-chunks-per-tick: 300
        mob-spawn-range: 4
        random-light-updates: false
        aggregate-chunkticks: 4
        item-merge-radius: 3.5
        exp-merge-radius: 3.5
        wheat-growth-modifier: 100
        cactus-growth-modifier: 100
        melon-growth-modifier: 100
        pumpkin-growth-modifier: 100
        sugar-growth-modifier: 100
        tree-growth-modifier: 100
        mushroom-growth-modifier: 100
        entity-activation-range-animals: 24
        entity-activation-range-monsters: 24
        entity-activation-range-misc: 8
        entity-tracking-range-players: 24
        entity-tracking-range-animals: 24
        entity-tracking-range-monsters: 24
        entity-tracking-range-misc: 16
        entity-tracking-range-max: 32
        info: true
        growth-chunks-per-tick: 300
        view-distance: 4
        growth-chunks-per-tick: 0
        random-light-updates: true
        water-creatures-per-chunk: 0
      enable: false
      engine-mode: 1
      update-radius: 2
      - world_the_end
      - 1
      - 5
      - 14
      - 15
      - 16
      - 21
      - 48
      - 49
      - 54
      - 56
      - 73
      - 74
      - 82
      - 129
      - 130
    config-version: 2

    Plugins i am running :
    Code (Text):
    [INFO] Plugins (29): GroupManager, WorldEdit, mcjobs, iBlock, Vault, WorldGuard, AntiJoinBot, ClearChat, CoreProtect, Permissions, BookRules, AutoBroadcast, Fly, Sign Casino Slots, ClearLag, AutoSaveWorld, CommandBlocker, WGCustomFlags, Herochat, SimpleHat, Essentials, EssentialsProtect, WGFlyFlag, EssentialsSpawn, EssentialsAntiBuild, LWC, PreciousStones, ChestShop, AuthMe
    Timings after 17 hours of uptime.

  2. Dmck2b

    Services Staff

    You've got a decently high entitytick, so I would stagger to make a guess that the new zombies are getting trapped in locations that players frequent, or trying to endlessly get to a villager. Less than 70 zombies can have serious effects when this occurs.

    Try lowering your entity-activation-range-monsters

    Sorry, most of this is probably wrong since from the fact you still have a full bukkit.yml, your on a 1.5.2 build.
  3. Jigsaw


    Your TPS isn't really going to decrease if your CPU is able to keep up. If it happens only after a few hours and not within the first few hours of the server being up then it could be a memory leak. That would cause Java GC to continually need to run in order to free up memory. That will increase load on the CPU which will decrease TPS on your server.

    Does your memory usage do anything strange? Are you always low on memory?
  4. Your entity ticks aren't the main cause of lag so that is good. LWC is ranked very high though. You might want to update it since it is 100+ builds out of date.

    And have you checked your LWC cache by doing "/lwc admin report"? If it isn't big enough it can give a lot of lag.

    Preciousstones is causing some major lagspikes upon joining/respawning players. You might want to update it as well as it is about a year outdated. Here is the jenkins.
  5. I will update them and i will come with a result. Nikecow
    And Jigsaw , no , my free memory is at 6-7 gigs every time.

  6. Well there must be something wrong with mob spawning then. Do you have a plugin/method that kills or spawns monsters incredibily fast? How often does clearlag proc? (too fast actually makes you lag) Maybe someone is spamming /butcher ? These mob-spawn timings are not normal.
    • Agree Agree x 1
  7. Clearlagg i think 7 minutes , deletes the blocks off the ground.
    Some1 spamming /butcher ? I don't think so.
  8. Uh I just saw your CPU is a Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz - Processor correct?

    I don't know why I noticed that earlier but that isn't a great CPU. It might be that you have to limit your players to like 40-50.
  9. After that uptime it does that even at 30 players.

  10. Alright, do you ever restart your box? Linux can last a long time without reboots but sometimes it can help to do it anyway.
  11. Yes , i restart it like after 2 weeks of uptime..
    I just got those errors in my console , what are those ?

    Code (Text):
        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30)
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
            at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:94)
            at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:398)
            at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:423)
            at net.minecraft.server.v1_5_R3.EntityLiving.damageEntity(EntityLiving.j
  12. Dmck2b

    Services Staff

    We need the full error to make any sense of it.
  13. This is all my console showed me :
    Code (Text):
            at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
            at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
            at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
    Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Player.getHealth()D
            at net.sacredlabyrinth.Phaed.PreciousStones.listeners.PSEntityListener.onEntityDamage(PSEntityListener.java:558)
            at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
            ... 27 more
  14. Dmck2b

    Services Staff

    Precious stone is causing that error.

    at net.sacredlabyrinth.Phaed.PreciousStones.
  15. Why would that be though?
  16. Dmck2b

    Services Staff

    Looks it isn't updated for the new health system. This error then then next backs it up seeing as it was listening for entity damage.

    java.lang.NoSuchMethodError: org.bukkit.entity.Player.getHealth()D
    at net.sacredlabyrinth.Phaed.PreciousStones.listeners.PSEntityListener.onEntityDamage(PSEntityListener.java:558)

    And line 558 being

  17. So should i downgrade it a few versions?
  18. Dmck2b

    Services Staff

    What's your spigot/presciousstone version?