Jump to content
TrinityCore

worldserver continue take cpu 100% on ubuntu16.04


cloudfox
 Share

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.

 

thanks!!

Link to comment
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.

Link to comment
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.

捕获1.PNG

Edited by cloudfox
Link to comment
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*/)
#else
    if (sConfigMgr->GetBoolDefault("Console.Enable", false))
#endif

 

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

Link to comment
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!!!

 

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By xgamerninjax
      Hello all, first time posting here and it's really got me scratching my head.
      I've compiled everything on my own computer, and then transferred everything to a host computer so the server can stay live. The server was running fine for a month or so and then suddenly it just crashes when it hits "Loading C++ scripts", exiting saying "caught signal 22"
      I tried setting up the host computer from scratch and transferred everything over fresh and it's still happening for some reason. (Note, I can run the server perfectly on my personal pc where I compiled it.)
      Any help would be greatly appreciated, thanks!
      3d7e3a40e2b3+_worldserver.exe_[1-4_15-19-45].dmp 3d7e3a40e2b3+_worldserver.exe_[1-4_15-19-45].txt
    • 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:    0.0.0.0
        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.2.0.0.272.7
        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.
      Thanks
    • 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
      Hi,

      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.

      Thanks
    • 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.
×
×
  • Create New...