Rowland Penny
2024-Nov-05 10:12 UTC
[Samba] Slow reply to "smbclient -NL localhost" : strace
On Tue, 5 Nov 2024 10:36:49 +0100 Gilles via samba <samba at lists.samba.org> wrote:> On 04/11/2024 15:11, Rowland Penny via samba wrote: > > As I said previously, I do not think this has anything to do with > > Samba. In an earlier post, you had this output when you ran the same > > command using 'time': > > > > real 0m12.500s > > user 0m0.732s > > sys 0m0.102s > > > > The 'real' time is the total time it took to run the command, but > > 'user' + 'sys' is the actual time it took for the Samba part of it, > > in this case 0.834 seconds, the remaining 11.666 seconds is where > > your problem lies, what is causing this ? > > That is what you need to trace, what is getting in the way, it > > doesn't seem to be anything to do with Samba. > > > > When it comes down to it, your 'strace' appears to be useless in > > this context, there is no 'time' involved. > > Thanks. So I'll look elsewhere to understand why that command is > taking so long.I took a look at your strace again and I noticed that the hostname was 'sheevaplug', now I can only really think of one reason why such a hostname would be used, if it was an actual Sheevaplug. If this is a Sheevaplug, then that could be your problem. From memory, the Sheevaplug had a single core ARM CPU, running at just over 1GHZ with about 512MB of memory. To be honest I haven't heard of one of these for years, they were supplanted by the Raspberry pi, a much more capable computer, that has only got better and better.> > FWIW, there's no delay after I run it once? but only for a couple of > minutes.It is probably getting cached in memory and then overwritten. Rowland
On 05/11/2024 11:12, Rowland Penny via samba wrote:> I took a look at your strace again and I noticed that the hostname was > 'sheevaplug', now I can only really think of one reason why such a > hostname would be used, if it was an actual Sheevaplug. > > If this is a Sheevaplug, then that could be your problem. > From memory, the Sheevaplug had a single core ARM CPU, running at just > over 1GHZ with about 512MB of memory. To be honest I haven't heard of > one of these for years, they were supplanted by the Raspberry pi, a > much more capable computer, that has only got better and better.I've used it for years on a home network, and it worked fine with Debian 11. That problem only appeared after I installed Debian 12 (Linux 6.1.0-26-marvell #1 Debian 6.1.112-1 (2024-09-30) armv5tel GNU/Linux). "strace -r smbclient -NL localhost" shows the two locations where it's hanging when listing the shares: ================? 0.000410 statx(1, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFCHR|0600, stx_size=0, ...}) = 0 0.001078 write(1, "\n", 1 )???????? = 1 0.000987 write(1, "\tSharename?????? Type????? Comme"..., 35 Sharename?????? Type????? Comment ) = 35 0.000883 write(1, "\t---------?????? ----????? -----"..., 35 ---------?????? ----????? ------- ) = 35 0.000466 epoll_create(64)????????? = 3 0.000873 fcntl64(3, F_GETFD)?????? = 0 0.000318 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 0.000890 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806466, tv_nsec=500839090}) = 0 0.000555 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806466, tv_nsec=501842685}) = 0 0.000997 epoll_ctl(3, EPOLL_CTL_ADD, 5, {events=EPOLLIN|EPOLLERR|EPOLLHUP, data={u32=37735016, u64=37735016}}) = 0 0.000889 writev(5, [{iov_base="\0\0\0\204", iov_len=4}, {iov_base="\376SMB@\0\1\0\0\0\0\0\5\0\1\0\20\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="9\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\237\1\2\0\0\0\0\0"..., iov_len=56}, {iov_base="s\0r\0v\0s\0v\0c\0", iov_len=12}], 4) = 136 0.005154 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806466, tv_nsec=508444761}) = 0 0.003823 epoll_wait(3, [{events=EPOLLIN, data={u32=37735016, u64=37735016}}], 1, 19994) = 1 *8.784598 recv(5, "\0\0\0\230", 4, 0) = 4* 0.000404 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=297225024}) = 0 0.000858 epoll_wait(3, [{events=EPOLLIN, data={u32=37735016, u64=37735016}}], 1, 11205) = 1 0.000439 recv(5, "\376SMB@\0\1\0\0\0\0\0\5\0\1\0\21\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0"..., 152, 0) = 152 0.000957 epoll_ctl(3, EPOLL_CTL_DEL, 5, 0xbe9be018) = 0 0.001919 close(3)????????????????? = 0 ? 0.001138 epoll_create(64)????????? = 3 0.000808 fcntl64(3, F_GETFD)?????? = 0 0.000322 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 0.000927 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=319588164}) = 0 0.000646 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=320668191}) = 0 0.000908 epoll_ctl(3, EPOLL_CTL_ADD, 5, {events=EPOLLIN|EPOLLERR|EPOLLHUP, data={u32=37743504, u64=37743504}}) = 0 0.000876 writev(5, [{iov_base="\0\0\0\300", iov_len=4}, {iov_base="\376SMB@\0\1\0\0\0\0\0\v\0\1\0\20\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="9\0\0\0\27\300\21\0\234\366\306j\0\0\0\0%\22\204\252\0\0\0\0x\0\0\0H\0\0\0"..., iov_len=56}, {iov_base="\5\0\v\3\20\0\0\0H\0\0\0\1\0\0\0\270\20\270\20\0\0\0\0\1\0\0\0\0\0\1\0"..., iov_len=72}], 4) = 196 0.006494 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=328507149}) = 0 0.001085 epoll_wait(3, [{events=EPOLLIN, data={u32=37743504, u64=37743504}}], 1, 9992) = 1 0.002549 recv(5, "\0\0\0I", 4, 0)? = 4 0.000514 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=333154493}) = 0 0.001046 epoll_wait(3, [{events=EPOLLIN, data={u32=37743504, u64=37743504}}], 1, 9987) = 1 0.007375 recv(5, "\376SMB@\0\0\0\3\1\0\0\v\0\1\0\23\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0"..., 73, 0) = 73 0.001112 epoll_ctl(3, EPOLL_CTL_DEL, 5, 0xbe9be018) = 0 0.000467 epoll_ctl(3, EPOLL_CTL_ADD, 5, {events=EPOLLIN|EPOLLERR|EPOLLHUP, data={u32=37745048, u64=37745048}}) = 0 0.000919 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806475, tv_nsec=343563494}) = 0 0.000966 epoll_wait(3, [{events=EPOLLIN, data={u32=37745048, u64=37745048}}], 1, 9977) = 1 *2.461278 recv(5, "\0\0\0\264", 4, 0) = 4* 0.000409 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806477, tv_nsec=806182845}) = 0 0.000832 epoll_wait(3, [{events=EPOLLIN, data={u32=37745048, u64=37745048}}], 1, 7514) = 1 0.000438 recv(5, "\376SMB@\0\1\0\0\0\0\0\v\0\0\0\23\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0"..., 180, 0) = 180 0.004769 epoll_ctl(3, EPOLL_CTL_DEL, 5, 0xbe9be018) = 0 0.000697 clock_gettime64(CLOCK_REALTIME, {tv_sec=1730806477, tv_nsec=812966277}) = 0 0.001364 close(3)????????????????? = 0 ? =================