Jump to content
Sign in to follow this  

worldserver continue take cpu 100% on ubuntu16.04

Recommended Posts

hi there

i've met a strange problem on linux running TC worldserver.

everything is ok when i direct type ./worldserver and don't close ssh window. the worldserver session only take 1% less cpu use.

but when i try to use nohup or setsid to put worldserver backgroud.

this world server instantly taking 100% cpu percent .no matter how long i wait,%cpu will not come down.

i even try to use systemctl's service to made server run background,and i found server and systemctl still got 100% cpu use.

i'm asking for help about how to run server background on ubuntu16.04,and not with 100%cpu use.



Share this post

Link to post
Share on other sites

nobody met this problem on ubuntu?

i google it ,they said  because worldserver is waiting input ,so when you put it background they will cost 100% cpu resource.

but this is a server , it need to put it background.


Share this post

Link to post
Share on other sites

Your average is 0.94. That's not bad at all. However, your memory is low and your swap is high. So your CPU is working hard to not flood your memory and write to disk with saved data that *should* be i/o from memory only.

Try adding more ram to your system. Also, I upgraded to 17.10. It's faster and it's a minimum recommended version.

Share this post

Link to post
Share on other sites

thanks my friends,

but when i dont use "nohup ./worldserver &",   just use  "./worldserver" to start it.

the cpu cost is only 1% or little higher  like my attached pic.  

how do you guys running TC server on linux?

i tried to run  "./worldserver"  . when it's start complete i directly shut the telnet window. 

but if i done this the server session "worldserver" is killed by system.


Edited by cloudfox

Share this post

Link to post
Share on other sites
17 hours ago, Shauren said:

There is a config for this - set Console.Enable to 0 for background processes

ohh could you please tell me where is this setting?

is it here?

i find something like this in .\TrinityCore\src\server\worldserver\Main.cpp line 304 to 310.

// Launch CliRunnable thread
    std::shared_ptr<std::thread> cliThread;
#ifdef _WIN32
    if (sConfigMgr->GetBoolDefault("Console.Enable", false) && (m_ServiceStatus == -1)/* need disable console in service mode*/)
    if (sConfigMgr->GetBoolDefault("Console.Enable", false))


i change  two 'true'  to 'false' and recomplied. problem still exist :(

Share this post

Link to post
Share on other sites

you have a CONFIG on worldserver / authserver /bnetserver .conf you don't have to edit no c++ file. and again 2 gb of ram are TO LOW to run tc.

Share this post

Link to post
Share on other sites
19 hours ago, Aokromes said:

you have a CONFIG on worldserver / authserver /bnetserver .conf you don't have to edit no c++ file. and again 2 gb of ram are TO LOW to run tc.

thank you very much my friend! when i turn down the console switch , it's all gone,nothing bothers me now!!

thank you all upstairs bro! i love you!!!


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Deer_Hunter
      Hello all,
      I just updated from the latest Git 
      Trinity Core REV. ac6baa547376 + 2020-02-21  3.3.5 Branch.
      I'm getting this error after crash.
      Problem signature:
        Problem Event Name:    APPCRASH
        Application Name:    worldserver.exe
        Application Version:
        Application Timestamp:    5e50a462
        Fault Module Name:    StackHash_f12f
        Fault Module Version:    6.3.9600.19629
        Fault Module Timestamp:    5e2fdc0d
        Exception Code:    c0000374
        Exception Offset:    PCH_9E_FROM_ntdll+0x0000000000090D0A
        OS Version:    6.3.9600.
        Locale ID:    1033
        Additional Information 1:    f12f
        Additional Information 2:    f12f0934d3e965f73c68e60f20f2cd40
        Additional Information 3:    7595
        Additional Information 4:    7595e4d8d703db9dcd3d2f6ea540e357
      the exception code says its a Heap error,  I'm not sure how to troubleshoot this.
    • By blackmetalz
      Hi, i just tried to replace GCC with Clang. Normally before i switch i use this script to get the crash log
      #! /bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo $DIR cd $DIR echo "run\n" > gdbcommands echo "shell echo -e \"SERVERCRASHEVENT\" " >> gdbcommands echo "shell echo -e \"\nCRASH ON\" `date` " >> gdbcommands echo "info program " >> gdbcommands echo "shell echo -e \"\nBACKTRACE\n\" " >> gdbcommands echo "bt " >> gdbcommands echo "shell echo -e \"\nBACKTRACE FULL\n\" " >> gdbcommands echo "bt full " >> gdbcommands echo "shell echo -e \"\nTHREADS\n\" " >> gdbcommands echo "info threads " >> gdbcommands echo "shell echo -e \"\nTHREADS BACKTRACE\n\" " >> gdbcommands echo "thread apply all bt full " >> gdbcommands chmod +x gdbcommands while : do echo "starting worldserver"; sleep 5 mkdir -p crashes gdb worldserver --batch -x gdbcommands | tee crashes/current FILE=$(date +%s) sed -i '1,/SERVERCRASHEVENT/d' crashes/current mv crashes/current crashes/$FILE".crash" find crashes/ -name '*.crash' -and -size -10k -delete # Remove small files (not crashes) echo "worldserver stopped"; sleep 1 done ```  
      After replacing with Clang compiler, seem like it doesn't generate crash log in to crash folder anymore. I'm not sure what I'm missing, i have tried to search some before i create a new topic but i haven't found any answer then i decided to create this topic to ask for help
      Thanks for reading
    • By 939h

      The chat channel Lookup for group is not available when a player isn't in a city. I tried to modify the worldserver.conf file with:
      #    Channel.RestrictedLfg
      #        Description: Restrict LookupForGroup channel to characters registered in the LFG tool.
      #        Default:     1 - (Enabled, Allow join to channel only if registered in LFG)
      #                     0 - (Disabled, Allow join to channel in any time)
      Channel.RestrictedLfg = 0

      I restarted the server but it didn't help.

    • By Probie_Wan_Kenobi
      I believe everything I have done up to this point has been correct. When I go to launch worldserver.exe a console window opens up for a second and closes right away and nothing else seems to have happened. I skipped a head a little in the instructions to see what is left and step 5 seems skippable since I am running this only for this computer and step 6 has me launch to a log in screen which I can not get to. I tried going to the faq but the page was not loading properly so I am forced to post here.
    • By Fyury
      When I run "worldserver.exe" it just crashes and I get this:
      TrinityCore rev. 084da48ba15a 2018-05-26 18:48:09 +0200 (master branch) (Win64, RelWithDebInfo, Static) (worldserver-daemon)
      <Ctrl-C> to stop.
       ______                       __
      /\__  _\       __          __/\ \__
      \/_/\ \/ _ __ /\_\    ___ /\_\ \, _\  __  __
         \ \ \/\`'__\/\ \ /' _ `\/\ \ \ \/ /\ \/\ \
          \ \ \ \ \/ \ \ \/\ \/\ \ \ \ \ \_\ \ \_\ \
           \ \_\ \_\  \ \_\ \_\ \_\ \_\ \__\\/`____ \
            \/_/\/_/   \/_/\/_/\/_/\/_/\/__/ `/___/> \
                                       C O R E  /\___/
      http://TrinityCore.org                    \/__/
      Using configuration file C:/WoW-Server/bin/RelWithDebInfo/worldserver.conf.
      Using SSL version: OpenSSL 1.0.1e 11 Feb 2013 (library: OpenSSL 1.0.1e 11 Feb 2013)
      Using Boost version: 1.65.1
      Updating Auth database...
      >> Auth database is up-to-date! Containing 6 new and 115 archived updates.
      Updating Character database...
      >> Character database is up-to-date! Containing 3 new and 77 archived updates.
      Updating World database...
      >> World database is up-to-date! Containing 193 new and 2262 archived updates.
      Updating Hotfixes database...
      >> Hotfixes database is up-to-date! Containing 18 new and 130 archived updates.
      Realm running as realm ID 1
      Using World DB: TDB 735.00
      Using enUS DBC Locale
      Will clear `logs` table of entries older than 1209600 seconds every 10 minutes.
      Using DataDir ./
      WORLD: MMap data directory is: ./mmaps
      VMap support included. LineOfSight: 1, getHeight: 1, indoorCheck: 1
      VMap data directory is: ./vmaps
      Missing name Guild.SaveInterval in config file C:/WoW-Server/bin/RelWithDebInfo/worldserver.conf, add "Guild.SaveInterval = 15" to this file
      Initialize PlayerDump...
      >> Initialized 370 PlayerDump ColumnDefinitions in 551 ms.
      Loading Trinity strings...
      >> Loaded 965 trinity strings in 32 ms
      Initialize data stores...
      Some required *.db2 files (2 from 230) not found or not compatible:
      ItemSearName.db2 & WorldSafeLocs.db2 dont exist but how can I get them
      When I start "mapextractor.exe" this happens:
      Unable to open file DBFilesClient\ItemSearchName.db2 in the archive for locale enUS: FILE_NOT_FOUND
      Unable to open file DBFilesClient\Unittest.db2 in the archive for locale enUS: FILE_NOT_FOUND
      Unable to open file DBFilesClient\WorldSafeLocs.db2 in the archive for locale enUS: FILE_NOT_FOUND
  • Create New...