Perforce奇怪的10秒延迟/延迟一些命令[raspberry-pi / cubieboard]

时间:2013-09-27 17:57:25

标签: linux arm perforce

我正在尝试在cubieboard2上设置perforce服务器(raspberry-pi clone)

我已经为Linux ARM(2011.1)下载了p4d和p4

我正在运行这样的服务器:

p4d -d -r root_path -p 12345 -L log

直接在服务器计算机上运行命令的统计信息(服务器ip 192.168.1.1)

p4 -p 12345 users               # it returns immediately
p4 -p 127.0.0.1:12345 users     # it returns immediately
p4 -p localhost:12345 users     # it returns immediately
p4 -p 192.168.1.1:12345 users   # it returns immediately
p4 -p 12345 info                # it returns immediately
p4 -p 127.0.0.1:12345 info      # it returns immediately
p4 -p localhost:12345 info      # it returns immediately
p4 -p 192.168.1.1:12345 info    # returns after ~10 sec

我想从我的Windows PC连接到这个perforce服务器,因为我在服务器的局域网中,我正在连接 p4 -p 192.168.1.1:12345用户命令立即返回,< em> info ,延迟10秒(在我的Windows PC上使用p4)
我没有检查其他命令,我无法连接p4Admin或p4v,他们挂起/什么都不做,因此我的服务器无法使用

使用

启动服务器
p4d -d -r root_path -p 192.168.1.1:12345 -L log

无法使用 p4 -p 12345或localhost:12345或127.0.0.1:12345 运行命令 但与192.168.1.1:12345相同的故事

请注意。我也在它上面运行ftp,当通过192.168.1.1

连接时运行正常

编辑。为p4d添加了strace日志 'p4 -p 192.168.1.1:12345用户'从win7 pc运行(ip以'13'结尾,返回immed。)

{sa_family=AF_INET, sin_port=htons(61483), sin_addr=inet_addr("192.168.1.13")}, [16]) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
wait4(-1, 0xbea31744, WNOHANG, NULL)    = -1 ECHILD (No child processes)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6e45068) = 2890
close(4)                                = 0
gettimeofday({1380359365, 320807}, NULL) = 0
accept(3, 0xbea31734, [16])             = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2890
wait4(-1, 0xbea3141c, WNOHANG, NULL)    = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
sigreturn()                             = ? (mask now [HUP INT QUIT])
accept(3, 

strace for p4 -p 192.168.1.1:12345 info

{sa_family=AF_INET, sin_port=htons(61486), sin_addr=inet_addr("192.168.1.13")}, [16]) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(4, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
wait4(-1, 0xbea31744, WNOHANG, NULL)    = -1 ECHILD (No child processes)
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6e45068) = 2894
close(4)                                = 0
gettimeofday({1380359462, 822219}, NULL) = 0
accept(3,

现在它滞后,然后出现以下行

          0xbea31734, [16])             = ? ERESTARTSYS (To be restarted)
--- SIGCHLD (Child exited) @ 0 (0) ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2894
wait4(-1, 0xbea3141c, WNOHANG, NULL)    = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {0x16d160, [CHLD], SA_RESTART|0x4000000}, {0x16d160, [CHLD], SA_RESTART|0x4000000}, 8) = 0
sigreturn()                             = ? (mask now [HUP INT QUIT])
accept(3,

它没有告诉我太多,但正如你所看到的,完全相同的行
接受(3,0xbea31734,[16])=? ERESTARTSYS(待重新启动)
出现在两个日志中,后者在'accept(3,'

)后停止10秒

至于swap,我把它作为连接到主板的外部驱动器上的交换文件启用,而我从sd-card启动,无论哪种方式,禁用后都没有改变。

0 个答案:

没有答案