DB Hub Support Forum Forum Index DB Hub Support Forum  
  Linux/Unix hub software for Direct Connect      FAQ      Search      Memberlist      Download      Album      Czat      Statistics  
  · Log in Register · Profile · Log in to check your private messages · Usergroups  



Previous topic «» Next topic
high load
Author Message
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-01-26, 16:55   high load


high load in 1-2 hours (FreeBSD)

Code:
  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
54410 dcchub      1 122    0  2152K  1064K RUN      0:25 66.21% dbhub
54411 dcchub      1  96    0  2784K  1804K select   3:52  2.00% dbhub


adter 3-4 hours:
Code:
  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
54410 dcchub      1 132    0  2152K  1060K RUN    101:01 86.57% dbhub
54411 dcchub      1  98    0  2840K  1956K select   8:08  2.78% dbhub

etc...

that to look for finding out of reason?
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-27, 01:05   

Hummm, your are the second person mentioning something like that, another person had a similiar effect with over 100 users, on a SMP Machine with CentOS.

Does the load g up together with the number of connected users?

Do you have the possibility, to make a test and collect profiling data?

The first interesting hint is: it'S not the child aiting for connections etc. (which resides in select, thus sleeping) ... Maybe centurion knows better, what the parent process does ... and why it might produce such a high load ....
 
 
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-01-27, 11:06   

200-500 users

running as strace -o trace.txt -f ./dbhub
Code:
 PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
74736 dcchub      1 132    0  1432K   756K RUN      4:32 62.50% strace
74740 dcchub      1  20    0  1432K   776K pause    0:45 11.04% strace
74741 dcchub      1   8    0  2732K  1960K stopev   0:25  3.66% dbhub
74738 dcchub      1   8    0  2152K  1312K stopev   0:18  3.03% dbhub
74742 dcchub      1  20    0  1432K   776K pause    0:19  1.86% strace

we wait

p.s.
the high loading is also observed on 450 and 451
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-27, 11:42   

Erh, that strace is going to be REALLY big ... and I doubt it will help me find the actual function causing the load. NEvertheless, keep a copy of an eample run, it might still help a little.

When I asked about profiling data, I meant something like callgrind, gprof etc. that can show the 'cost' per function, we need to identify the part of the source, which provides the highest cost, before we can start tuning it :-).
 
 
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-01-27, 11:47   

I do not understand herein. That to do?
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-27, 12:41   

Simple example (not tested):

Code:

valgrind --tool=callggrind dbhub


When the daemon is running you should be able, to do a:

Code:

callgrind_control -d testdump


if everything worked out, you should see a profile dump, and you could then:

Code:

callgrind_annotate testdump


If your system is set up properly and dbhub was compiled with --enable-debug you should hopefully be able to see a properly annotated Cost Table and check through it.

Since we don't have any FreeBSD developers, FreeBSD ist pretty much unsupported...
 
 
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-01-27, 13:56   

not compiled with --enable-debug

Code:
dcchub@homnet:~/1/dbhub-0.451-rc3> ./configure --enable-debug
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether build environment is sane... yes
checking whether to include full debugging... yes
checking whether to include switch_user support... no
checking whether to include perl support... no
checking whether to include NLS... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for crypt in -lcrypt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

-------------------------------------------------
 Full Debugging is turned: on
 Switch-User support requested: no
 Perl support requested: no
 NLS support is turned: on
-------------------------------------------------

*** Type "gmake" to build dbhub ***
*** If "gmake" does not work, try "make" ***

dcchub@homnet:~/1/dbhub-0.451-rc3> gmake
gmake  all-recursive
gmake[1]: Entering directory `/usr/home/dcchub/1/dbhub-0.451-rc3'
Making all in src
gmake[2]: Entering directory `/usr/home/dcchub/1/dbhub-0.451-rc3/src'
  [OK] commands.c ...
commands.c: In function `chat':
commands.c:450: warning: long unsigned int format, time_t arg (arg 3)
commands.c:457: warning: long unsigned int format, time_t arg (arg 5)
commands.c:457: warning: long unsigned int format, time_t arg (arg 5)
commands.c:459: warning: long unsigned int format, time_t arg (arg 5)
commands.c:459: warning: long unsigned int format, time_t arg (arg 5)
commands.c:463: warning: long unsigned int format, time_t arg (arg 4)
commands.c:463: warning: long unsigned int format, time_t arg (arg 4)
commands.c:472: warning: long unsigned int format, time_t arg (arg 4)
commands.c:472: warning: long unsigned int format, time_t arg (arg 4)
commands.c:479: warning: long unsigned int format, time_t arg (arg 10)
commands.c:479: warning: long unsigned int format, time_t arg (arg 10)
commands.c:490: warning: long unsigned int format, time_t arg (arg 5)
commands.c:490: warning: long unsigned int format, time_t arg (arg 5)
commands.c:492: warning: long unsigned int format, time_t arg (arg 5)
commands.c:492: warning: long unsigned int format, time_t arg (arg 5)
commands.c:496: warning: long unsigned int format, int arg (arg 4)
commands.c:496: warning: long unsigned int format, int arg (arg 4)
commands.c:505: warning: long unsigned int format, int arg (arg 4)
commands.c:505: warning: long unsigned int format, int arg (arg 4)
commands.c:512: warning: long unsigned int format, time_t arg (arg 10)
commands.c:512: warning: long unsigned int format, time_t arg (arg 10)
commands.c:523: warning: long unsigned int format, time_t arg (arg 5)
commands.c:523: warning: long unsigned int format, time_t arg (arg 5)
commands.c:525: warning: long unsigned int format, time_t arg (arg 5)
commands.c:525: warning: long unsigned int format, time_t arg (arg 5)
commands.c:529: warning: long unsigned int format, int arg (arg 4)
commands.c:529: warning: long unsigned int format, int arg (arg 4)
commands.c:538: warning: long unsigned int format, int arg (arg 4)
commands.c:538: warning: long unsigned int format, int arg (arg 4)
commands.c:545: warning: long unsigned int format, time_t arg (arg 10)
commands.c:545: warning: long unsigned int format, time_t arg (arg 10)
commands.c:556: warning: long unsigned int format, time_t arg (arg 5)
commands.c:556: warning: long unsigned int format, time_t arg (arg 5)
commands.c:558: warning: long unsigned int format, time_t arg (arg 5)
commands.c:558: warning: long unsigned int format, time_t arg (arg 5)
commands.c:562: warning: long unsigned int format, int arg (arg 4)
commands.c:562: warning: long unsigned int format, int arg (arg 4)
commands.c:571: warning: long unsigned int format, int arg (arg 4)
commands.c:571: warning: long unsigned int format, int arg (arg 4)
commands.c:578: warning: long unsigned int format, time_t arg (arg 10)
commands.c:578: warning: long unsigned int format, time_t arg (arg 10)
commands.c:589: warning: long unsigned int format, time_t arg (arg 5)
commands.c:589: warning: long unsigned int format, time_t arg (arg 5)
commands.c:591: warning: long unsigned int format, time_t arg (arg 5)
commands.c:591: warning: long unsigned int format, time_t arg (arg 5)
commands.c:595: warning: long unsigned int format, int arg (arg 4)
commands.c:595: warning: long unsigned int format, int arg (arg 4)
commands.c:604: warning: long unsigned int format, int arg (arg 4)
commands.c:604: warning: long unsigned int format, int arg (arg 4)
commands.c:611: warning: long unsigned int format, time_t arg (arg 10)
commands.c:611: warning: long unsigned int format, time_t arg (arg 10)
commands.c:659: warning: long unsigned int format, int arg (arg 4)
commands.c:659: warning: long unsigned int format, int arg (arg 4)
commands.c:668: warning: long unsigned int format, int arg (arg 4)
commands.c:668: warning: long unsigned int format, int arg (arg 4)
commands.c:1016: warning: long unsigned int format, time_t arg (arg 3)
commands.c:1023: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1023: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1025: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1025: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1029: warning: long unsigned int format, time_t arg (arg 4)
commands.c:1029: warning: long unsigned int format, time_t arg (arg 4)
commands.c:1038: warning: long unsigned int format, time_t arg (arg 4)
commands.c:1038: warning: long unsigned int format, time_t arg (arg 4)
commands.c:1045: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1045: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1056: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1056: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1058: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1058: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1062: warning: long unsigned int format, int arg (arg 4)
commands.c:1062: warning: long unsigned int format, int arg (arg 4)
commands.c:1071: warning: long unsigned int format, int arg (arg 4)
commands.c:1071: warning: long unsigned int format, int arg (arg 4)
commands.c:1078: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1078: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1089: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1089: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1091: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1091: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1095: warning: long unsigned int format, int arg (arg 4)
commands.c:1095: warning: long unsigned int format, int arg (arg 4)
commands.c:1104: warning: long unsigned int format, int arg (arg 4)
commands.c:1104: warning: long unsigned int format, int arg (arg 4)
commands.c:1111: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1111: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1122: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1122: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1124: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1124: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1128: warning: long unsigned int format, int arg (arg 4)
commands.c:1128: warning: long unsigned int format, int arg (arg 4)
commands.c:1137: warning: long unsigned int format, int arg (arg 4)
commands.c:1137: warning: long unsigned int format, int arg (arg 4)
commands.c:1144: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1144: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1155: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1155: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1157: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1157: warning: long unsigned int format, time_t arg (arg 5)
commands.c:1161: warning: long unsigned int format, int arg (arg 4)
commands.c:1161: warning: long unsigned int format, int arg (arg 4)
commands.c:1170: warning: long unsigned int format, int arg (arg 4)
commands.c:1170: warning: long unsigned int format, int arg (arg 4)
commands.c:1177: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1177: warning: long unsigned int format, time_t arg (arg 10)
commands.c:1225: warning: long unsigned int format, int arg (arg 4)
commands.c:1225: warning: long unsigned int format, int arg (arg 4)
commands.c:1234: warning: long unsigned int format, int arg (arg 4)
commands.c:1234: warning: long unsigned int format, int arg (arg 4)
commands.c:1292: warning: long unsigned int format, unsigned int arg (arg 4)
commands.c:1292: warning: long unsigned int format, unsigned int arg (arg 4)
commands.c: In function `ballow':
commands.c:5796: warning: long unsigned int format, time_t arg (arg 4)
commands.c:5804: warning: long unsigned int format, time_t arg (arg 4)
commands.c:5862: warning: long unsigned int format, time_t arg (arg 4)
commands.c:5894: warning: long unsigned int format, time_t arg (arg 5)
commands.c:5894: warning: long unsigned int format, time_t arg (arg 5)
commands.c:5905: warning: long unsigned int format, time_t arg (arg 5)
commands.c:5905: warning: long unsigned int format, time_t arg (arg 5)
commands.c: In function `send_user_list':
commands.c:6144: warning: long unsigned int format, time_t arg (arg 6)
commands.c:6200: warning: long unsigned int format, time_t arg (arg 4)
commands.c:6243: warning: long unsigned int format, time_t arg (arg 4)
commands.c:6262: warning: long unsigned int format, time_t arg (arg 6)
commands.c:6319: warning: long unsigned int format, time_t arg (arg 4)
commands.c:6365: warning: long unsigned int format, time_t arg (arg 4)
commands.c: In function `is_command':
commands.c:7969: warning: long unsigned int format, time_t arg (arg 4)
commands.c:7969: warning: long unsigned int format, time_t arg (arg 4)
commands.c:8003: warning: long unsigned int format, time_t arg (arg 4)
commands.c:8003: warning: long unsigned int format, time_t arg (arg 4)
commands.c:8058: warning: long unsigned int format, time_t arg (arg 4)
commands.c:8058: warning: long unsigned int format, time_t arg (arg 4)
commands.c:9100: warning: long unsigned int format, int arg (arg 4)
commands.c:9100: warning: long unsigned int format, int arg (arg 4)
commands.c:9107: warning: long unsigned int format, int arg (arg 4)
commands.c:9107: warning: long unsigned int format, int arg (arg 4)
commands.c:10247: warning: long unsigned int format, time_t arg (arg 3)
commands.c:10273: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10273: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10285: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10285: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10290: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10290: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10302: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10302: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10309: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10309: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10311: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10311: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10313: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10313: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10315: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10315: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10317: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10317: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10319: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10319: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10321: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10321: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10323: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10323: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10330: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10330: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10352: warning: long unsigned int format, time_t arg (arg 3)
commands.c:10374: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10374: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10387: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10387: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10391: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10391: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10393: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10393: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10395: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10395: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10397: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10397: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10399: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10399: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10401: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10401: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10405: warning: long unsigned int format, time_t arg (arg 8)
commands.c:10405: warning: long unsigned int format, time_t arg (arg 8)
commands.c:10413: warning: long unsigned int format, time_t arg (arg 3)
commands.c:10435: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10435: warning: long unsigned int format, time_t arg (arg 5)
commands.c:10447: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10447: warning: long unsigned int format, time_t arg (arg 4)
commands.c:10452: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10452: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10454: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10454: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10456: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10456: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10458: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10458: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10460: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10460: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10462: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10462: warning: long unsigned int format, time_t arg (arg 10)
commands.c:10466: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10466: warning: long unsigned int format, time_t arg (arg 9)
commands.c:10871: warning: long unsigned int format, unsigned int arg (arg 5)
commands.c:10871: warning: long unsigned int format, unsigned int arg (arg 5)
commands.c:10922: warning: long unsigned int format, unsigned int arg (arg 5)
commands.c:10922: warning: long unsigned int format, unsigned int arg (arg 5)
  [OK] fileio.c ...
fileio.c: In function `check_if_saw':
fileio.c:2015: warning: long unsigned int format, time_t arg (arg 3)
fileio.c: In function `check_ipinfo':
fileio.c:2205: warning: long unsigned int format, time_t arg (arg 3)
fileio.c: In function `check_if_away':
fileio.c:2280: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `check_if_banned':
fileio.c:2787: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:2816: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:2843: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:2883: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:2922: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:2950: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `choose_welcome':
fileio.c:3431: warning: long unsigned int format, time_t arg (arg 3)
fileio.c:3432: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:3432: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `check_if_allowed':
fileio.c:3502: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:3565: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `check_if_registered':
fileio.c:3610: warning: long unsigned int format, time_t arg (arg 6)
fileio.c:3641: warning: long unsigned int format, time_t arg (arg 6)
fileio.c: In function `check_pass':
fileio.c:3772: warning: comparison between signed and unsigned
fileio.c:3790: warning: long unsigned int format, time_t arg (arg 5)
fileio.c: In function `add_reg_user':
fileio.c:4188: warning: long unsigned int format, time_t arg (arg 7)
fileio.c:4188: warning: long unsigned int format, time_t arg (arg 7)
fileio.c: In function `add_seen_user':
fileio.c:4230: warning: long unsigned int format, time_t arg (arg 4)
fileio.c:4230: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `add_away_user':
fileio.c:4251: warning: long unsigned int format, time_t arg (arg 5)
fileio.c:4251: warning: long unsigned int format, time_t arg (arg 5)
fileio.c: In function `remove_exp_from_file':
fileio.c:4942: warning: long unsigned int format, time_t arg (arg 6)
fileio.c:4952: warning: long unsigned int format, time_t arg (arg 3)
fileio.c:4960: warning: long unsigned int format, time_t arg (arg 3)
fileio.c:4968: warning: long unsigned int format, time_t arg (arg 4)
fileio.c: In function `update_exp':
fileio.c:6070: warning: long unsigned int format, time_t arg (arg 6)
fileio.c:6084: warning: long unsigned int format, unsigned int arg (arg 6)
  [OK] main.c ...
main.c: In function `send_user_info':
main.c:980: warning: long unsigned int format, int arg (arg 3)
main.c:983: warning: long unsigned int format, int arg (arg 3)
main.c:1141: warning: long unsigned int format, int arg (arg 3)
main.c:1144: warning: long unsigned int format, int arg (arg 3)
main.c:1192: warning: long unsigned int format, int arg (arg 3)
main.c:1195: warning: long unsigned int format, int arg (arg 3)
main.c:1243: warning: long unsigned int format, int arg (arg 3)
main.c:1246: warning: long unsigned int format, int arg (arg 3)
main.c:1309: warning: long unsigned int format, int arg (arg 3)
main.c:1312: warning: long unsigned int format, int arg (arg 3)
main.c:1364: warning: long unsigned int format, int arg (arg 3)
main.c:1367: warning: long unsigned int format, int arg (arg 3)
main.c:1418: warning: long unsigned int format, int arg (arg 3)
main.c:1421: warning: long unsigned int format, int arg (arg 3)
main.c: In function `main':
main.c:3906: warning: comparison between signed and unsigned
  [OK] network.c ...
  [OK] userlist.c ...
  [OK] utils.c ...
  [OK] langvars.c ...
  [OK] logger.c ...
  [OK] motd.c ...
  [OK] semops.c ...
  [FF] stacktrace.c ...
stacktrace.c:33:22: execinfo.h: No such file or directory
stacktrace.c: In function `logbacktrace':
stacktrace.c:44: warning: implicit declaration of function `backtrace'
stacktrace.c:45: warning: implicit declaration of function `backtrace_symbols'
stacktrace.c:45: warning: assignment makes pointer from integer without a cast
gmake[2]: *** [stacktrace.o] Error 1
gmake[2]: Leaving directory `/usr/home/dcchub/1/dbhub-0.451-rc3/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/dcchub/1/dbhub-0.451-rc3'
gmake: *** [all] Error 2
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-27, 15:54   

Since FeeBSD seems to handle everything difrently, you can either:

Supply profiling data, don't ask me, how to get it for FreeBSD ... You use BSD, you should know.Maybe it works without extended debugging - who knows.

or

Ask the 'gentle' FreeBSD guys, to do a FreeBSD port and supply proper patches.

or

you can feel free, to read the FreeBSD docs, and supply patches.

or

don't use db hub for now and wait until FreeBSD is at a level, where it can compile the source.

I don't see any other solution to this problem at the current time.
 
 
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-01-27, 16:20   

ok
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-28, 04:18   

--enable-ebug should now conditionally ompile backtraces. Hopefully --enable-debug can be built on FreeBSD now, Package is RC4.
 
 
Ant 

Hub address:
127.0.0.1
Age: 32
Joined: 13 Jun 2007
Posts: 17
Location: Russia
Posted: 2008-01-31, 08:01   

Same problem starts with me here after 3 days uptime on 0.450 :(
Mandriva with smp kernel on hyperthreading enabled machine.
There was about 70-80 users when hub starts eat lot's of cpu resources and noone can connect to it until hub was restarted.

Before, it works normally a few weeks with the same amount of users on old machine with 1 cpu.

So, is there recommended algorithm for getting info that you may need for fixing it? :)
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-31, 15:01   

Ant wrote:
Same problem starts with me here after 3 days uptime on 0.450 :(
Mandriva with smp kernel on hyperthreading enabled machine.
There was about 70-80 users when hub starts eat lot's of cpu resources and noone can connect to it until hub was restarted.

Before, it works normally a few weeks with the same amount of users on old machine with 1 cpu.

So, is there recommended algorithm for getting info that you may need for fixing it? :)


If possible compile dbhub with --enable-debug. then use valgrind's callgrind, to collect call profiling data. callgrind_annotate will annotate the collected data. Maybe this can give us an idea. It almost seems, this is related to SMP.

callgrind_control gives you a chance to dump the data at any time you want. Please refer to valgrind's manual.

Another possibility is to modify the compile flags to include gprof support and use gprof or even maybe a kernel profiler, but ths is kinda tough (In that area I am a newbie too ;-) ).

Since this seems SMP related, it might be a race condition (which are very hard to track down).
 
 
Ant 

Hub address:
127.0.0.1
Age: 32
Joined: 13 Jun 2007
Posts: 17
Location: Russia
Posted: 2008-01-31, 18:38   

Well, if i understand coorectly, algorithm looks simple:
0. compile dbhub with --enable-debug and install.
1. cd /path/to/dbhubbinary
and:
valgrind --tool=callgrind ./dbhub

2. Just work as usual and wait for the hub's cpu eating.
3. When problem comes:
callgrind_control -w /path/to/dbhubbinary/ -d testdump
in dir we can see callgrind.out.PID after it

4. Then callgrind_annotate callgrind.out.PID

And am i right that result from callgrind_annotate i must post here?
 
 
@DarKRaveR 
#[KVIP]

Joined: 19 Jul 2007
Posts: 102
Location: Germany
Posted: 2008-01-31, 18:59   

Yep, that's pretty much it. If you want to, you could disable profiling, until the cpu loiad rises, and start the snapshot then, to get an even more clear result.

And yes, post the annotated output here, or put the output in a file and attach it ... I hope, that there is some information in there, that helps idetifying the right place in the source.

btw: If there are 2 callgrind data files, check which of the proceses is causing the problem and take just that process' datafile (that's just an adition, because the different proesses are supposed to do different things, so it might be just one of the processes producing the load)

Thank you very much and hopefully we can track this problem down ....
 
 
grayich
#[VIP]

Joined: 24 Feb 2007
Posts: 57
Location: Ukraine
Posted: 2008-02-02, 12:37   

0.451-rc4
with --enable-perl

after 12hour
Code:
  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
21189 dcchub      1  96    0  4220K  2032K select   9:08  2.59% dbhub
21188 dcchub      1  96    0  4696K  3104K select   0:56  0.00% dbhub
21187 dcchub      1  96    0  3616K  1312K select   0:16  0.00% dbhub


~350 users

waiting..........
 
 
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  



Powered by phpBB modified by Przemo © 2003 phpBB Group
Template modified by Mich@≥

SourceForge.net Logo