Hi All, We're currently trying to use samba in an embedded application, so we're working with samba 3.0.2a compiled for PPC.
We have a test application which will basically write, then read back and compare data files on the disk. The problems we see occur when we try using just over 3500 small files (< 10k each). It seems that after about 200 or so iterations of this test, we start to see the smbd process's VmRss size grow. Once it starts growing, it continues to grow until an Out of Memory condition occurs, somewhere around 270 iterations. We've tried this same test on the following versions of samba as well, and received the same result: samba-2.2.7a samba-2.2.8 samba-2.2.12 Here's our smb.conf file: <snip> [global] workgroup = WORKGROUP server string = log file = /var/samba/log.%m max log size = 50 security = share encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384 dns proxy = no browsable = yes guest account = nobody guest ok = yes create mask = 777 directory mask = 777 force directory mode = 0777 force create mode 0777 read size = 65536 disable spoolss = yes [Share] path = /share public = yes writable = yes veto files = /lost+found/ hide files = /lost+found/ [Printer] path = /var/lp/ printer name = printer writable = yes public = yes printable = yes print command = lpr -r %s </snip> Here's some output during the test: At the start of the test, here is the process listing: <snip> / # ps PID Uid VmSize Stat Command 1 root 520 S ini 2 root SWN [ksoftirqd/0] 3 root SW< [events/0] 4 root SW< [khelper] 9 root SW< [kthread] 32 root SW< [kblockd/0] 45 root SW [khubd] 84 root SW [pdflush] 85 root SW [pdflush] 87 root SW< [aio/0] 86 root DW [kswapd0] 645 root SW [mtdblockd] 646 root SW [ftld] 647 root SW [nftld] 677 root SWN [jffs2_gcd_mtd4] 765 root 328 S /sbin/syslogd -m 0 -s 40 -b 0 830 root 1820 S /sbin/smbd 891 root 836 S /bin/sh 971 root 3104 S /sbin/smbd 972 root 736 R ps </snip> This was right after a boot, then manually shutting down nmbd, and various other small daemons that were unnecessary for the test 2 hours later, here's the output: <snip> / # ps PID Uid VmSize Stat Command 1 root 520 S ini 2 root SWN [ksoftirqd/0] 3 root SW< [events/0] 4 root SW< [khelper] 9 root SW< [kthread] 32 root SW< [kblockd/0] 45 root SW [khubd] 84 root SW [pdflush] 85 root SW [pdflush] 87 root SW< [aio/0] 86 root DW [kswapd0] 645 root SW [mtdblockd] 646 root SW [ftld] 647 root SW [nftld] 677 root SWN [jffs2_gcd_mtd4] 765 root 328 S /sbin/syslogd -m 0 -s 40 -b 0 830 root 1820 S /sbin/smbd 891 root 888 S /bin/sh 971 root 3104 S /sbin/smbd 1007 root 736 R ps </snip> Then, around iteration number 200, we see this: <snip> / # ps PID Uid VmSize Stat Command 1 root 924 S ini 2 root SWN [ksoftirqd/0] 3 root SW< [events/0] 4 root SW< [khelper] 9 root SW< [kthread] 32 root SW< [kblockd/0] 45 root SW [khubd] 84 root SW [pdflush] 85 root SW [pdflush] 87 root SW< [aio/0] 86 root DW [kswapd0] 645 root SW [mtdblockd] 646 root SW [ftld] 647 root SW [nftld] 677 root SWN [jffs2_gcd_mtd4] 765 root 664 S /sbin/syslogd -m 0 -s 40 -b 0 830 root 3296 S /sbin/smbd 891 root 2756 S /bin/sh 971 root 6176 D /sbin/smbd 1071 root 736 R ps </snip> This last time, I actually stopped the test, disconnected the network drive, and reconnected the network drive, so the new process listing looks like this: <snip> / # ps PID Uid VmSize Stat Command 1 root 924 S ini 2 root SWN [ksoftirqd/0] 3 root SW< [events/0] 4 root SW< [khelper] 9 root SW< [kthread] 32 root SW< [kblockd/0] 45 root SW [khubd] 84 root SW [pdflush] 85 root SW [pdflush] 87 root SW< [aio/0] 86 root SW [kswapd0] 645 root SW [mtdblockd] 646 root SW [ftld] 647 root SW [nftld] 677 root SWN [jffs2_gcd_mtd4] 765 root 668 S /sbin/syslogd -m 0 -s 40 -b 0 830 root 3612 S /sbin/smbd 891 root 2820 S /bin/sh 1076 root 1996 S /sbin/smbd 1077 root 736 R ps </snip> If I restart the test, and come back just 10 iterations later, I see this: <snip> / # ps PID Uid VmSize Stat Command 1 root 1636 S ini 2 root SWN [ksoftirqd/0] 3 root SW< [events/0] 4 root SW< [khelper] 9 root SW< [kthread] 32 root SW< [kblockd/0] 45 root SW [khubd] 84 root SW [pdflush] 85 root SW [pdflush] 87 root SW< [aio/0] 86 root DW [kswapd0] 645 root SW [mtdblockd] 646 root SW [ftld] 647 root SW [nftld] 677 root SWN [jffs2_gcd_mtd4] 765 root 688 S /sbin/syslogd -m 0 -s 40 -b 0 830 root 4004 S /sbin/smbd 891 root 3640 S /bin/sh 1076 root 14156 D /sbin/smbd 1137 root 736 R ps </snip> Due to size constraints, attempts to use versions of samba after 3.0.2a aren't entirely feasibly, mostly due to external dependencies on other libraries. I guess I'm just wondering two things: 1. Has anyone else seen this behaviour? (My google searches haven't been turning up much in the way of results, if yours turn up better, please send me the keywords you used in your search as well) 2. What other information can I provide that would help with tracking down the root cause of this? Where else should I be looking We have kernel 2.6.12-rc2 running on this board compiled for a PowerPC 603e (MPC8241 processor) as well. Thanks in advance, Anthony -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba