Hans Otto Lunde
2008-Aug-26 15:57 UTC
[Samba] Hig cpu-usage on 3.0.24 on 64bit Debian etch
I'm having an issue with cpu-spikes on the following setup Samba 3.0.24 as PDC with cups as the printing system on a Debian Etch 64 bit version Intel dual-core system My main problem is, that everything works just fine, there are no serious errors in the log files, even if i step the log level up to level 3. What happens is that the processes belonging to the guest-account have occasional high cpu-values, up to 10-60%, then they slow down again, but there are many of them and all in all that gives too much cpu-usage. File transfers, printing etc. doesn't slow the machine down at all. The documentation says, that the guest-account should be defined, although I have "guest ok = no" in the smb.conf. Default for that account is the "nobody-user". Mine is called sambody and has a home-directory etc. It seems, that samba uses the guest-user for sleeping connections, but I can't figure out, where that high cpu-usage comes from. I could use a tip on this. I have also thought that it might be a 64bit-issue, that maybe is fixed in Lenny. I've considered swithing to Lenny although it's not stable yet. I've also considered compiling samba myself, but the machine is critical, and since the server runs fine, I decided to ask the experts. Anybody got an idea what is going on??? Here is a quick dump of some of the processes involved, below is my smb.conf: sambody 19094 2.5 0.2 42644 5628 ? S 10:36 2:36 /usr/sbin/smbd -D root 19133 1.4 0.2 42536 5412 ? S 10:41 1:21 /usr/sbin/smbd -D ma 19138 0.2 0.2 42484 5396 ? S 10:41 0:13 /usr/sbin/smbd -D root 19306 0.0 0.2 42804 5580 ? S 10:57 0:03 /usr/sbin/smbd -D root 19367 0.2 0.2 42380 5012 ? S 11:04 0:11 /usr/sbin/smbd -D sambody 19412 4.5 0.2 42528 5304 ? S 11:10 3:01 /usr/sbin/smbd -D sambody 19476 12.5 0.2 42492 5276 ? S 11:17 7:28 /usr/sbin/smbd -D root 19491 0.0 0.2 42928 5624 ? S 11:19 0:02 /usr/sbin/smbd -D sambody 19520 4.2 0.2 42636 5464 ? S 11:21 2:19 /usr/sbin/smbd -D sambody 19639 4.2 0.2 42636 5492 ? S 11:37 1:40 /usr/sbin/smbd -D root 19667 0.0 0.2 42160 4612 ? S 11:40 0:00 /usr/sbin/smbd -D sambody 19811 4.6 0.2 42272 4960 ? S 11:58 0:51 /usr/sbin/smbd -D root 19830 0.0 0.1 41412 3448 ? S 11:59 0:00 /usr/sbin/smbd -D root 19845 0.0 0.1 35888 2704 ? Ss 12:00 0:00 sshd: root@pts/0 root 19853 0.0 0.0 11532 1980 pts/0 Ss 12:01 0:00 -bash root 19872 0.0 0.1 41412 3464 ? S 12:02 0:00 /usr/sbin/smbd -D root 19874 0.3 0.1 41516 3700 ? S 12:02 0:03 /usr/sbin/smbd -D sambody 19977 0.1 0.1 41500 3712 ? S 12:06 0:00 /usr/sbin/smbd -D jn 19985 0.2 0.2 42028 4496 ? S 12:07 0:01 /usr/sbin/smbd -D root 20010 0.1 0.1 41660 3640 ? S 12:10 0:00 /usr/sbin/smbd -D jy 20014 0.6 0.2 42204 4592 ? S 12:11 0:02 /usr/sbin/smbd -D sambody 20053 4.6 0.1 41608 3488 ? S 12:16 0:00 /usr/sbin/smbd -D sambody 20056 11.0 0.1 41412 3388 ? S 12:16 0:00 /usr/sbin/smbd -D smb.conf: [global] workgroup = EGMONT netbios name = ESERVER server string = Samba interfaces = eth0 lo hosts allow = 127.0.0.1 192.168.194.0/24 hosts deny = 0.0.0.0/0 passdb backend = smbpasswd passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . password server = null passwords = no invalid users = root daemon, bin, sys, sync, man, games, lp, mail, news, uucp, proxy, backup list, gnats, Debian-exim, statd, identd, sshd, ftp guest account = sambody guest ok = no unix charset = UTF8 display charset = LOCALE dos charset = CP850 log level = 2 log file = /var/log/samba/%m.log max log size = 0 name resolve order = lmhosts wins bcast socket options = TCP_NODELAY logon script = %G.bat logon path = \\%N\%U\.wincfg logon drive = h: domain logons = yes os level = 65 preferred master = yes domain master = yes local master = yes security = user dns proxy = no wins support = yes printing = cups printcap name = cups # lpq command = lpq -P%p # lprm command = lprm -P%p %j [netlogon] comment = Login Scripts path = /home/netlogon browseable = no [afdeling] comment = Afdelings-drev path = /home/afdeling valid users = +edb admin users = +edb read only = no [apps] comment = Programmer path = /home/apps read only = yes [bruger] comment = Bruger-drev path = /home/bruger valid users = +edb admin users = +edb read only = no [cdrom] comment = Server cdrom path = /mnt/cdrom valid users = +edb read only = yes browseable = no [edb] comment = Edb path = /home/afdeling/edb valid users = +edb force group = edb read only = no create mask = 0660 directory mask = 0770 [felles] comment = Faelles drev path = /home/felles valid users = +felles force group = felles read only = no create mask = 0660 directory mask = 0770 # [filmlinie] # comment = Medie drev # path = /home/medie # valid users = +medie, +mediel, +edb # force group = medie # read only = no # create mask = 0660 # directory mask = 0770 [hha] comment = Hjemmehjaelp path = /home/afdeling/hha valid users = +hha, +edb force group = hha read only = no create mask = 0660 directory mask = 0770 [homes] comment = Home Directories read only = no create mask = 0600 directory mask = 0700 browseable = no public = no csc policy = disable [hsc] comment = Soesportscenter path = /home/afdeling/hsc valid users = +kontor force group = kontor read only = no create mask = 0660 directory mask = 0770 [install] comment = Installations-drev path = /home/install valid users = +edb force group = edb read only = no create mask = 0660 directory mask = 0770 [koekken] comment = Koekken path = /home/afdeling/koekken valid users = +koekken, +edb force group = koekken read only = no create mask = 0660 directory mask = 0770 [kontor] comment = Kontor path = /home/afdeling/kontor valid users = +kontor force group = kontor read only = no create mask = 0660 directory mask = 0770 [pedel] comment = Pedel path = /home/afdeling/pedel valid users = +pedel, +edb force group = pedel read only = no create mask = 0660 directory mask = 0770 [publikation] comment = Publikation path = /home/publikation valid users = +kontor force group = kontor read only = no create mask = 0660 directory mask = 0770 [underviser] comment = Underviser path = /home/afdeling/underviser valid users = +underviser, +hjunderviser, +edb force group = underviser read only = no create mask = 0660 directory mask = 0770 #[printers] # comment = All Printers # path = /var/spool/samba # browseable = no # guest ok = no # writable = no # printable = yes [BRAILLE] comment = Braille Printer (Jetd. 170X) path = /var/spool/samba valid users = +edb printable = yes default devmode = no use client driver = yes [EDB1] comment = Brother HL 2070N path = /var/spool/samba printable = yes default devmode = no use client driver = yes [EDB2] comment = Brother HL 1470N path = /var/spool/samba printable = yes default devmode = no use client driver = yes [ITKONTOR] comment = HP Laserjet 4050 path = /var/spool/samba valid users = +edb, +kontor, +underviser printable = yes default devmode = no use client driver = yes [KONTOR-AN] comment = HP Laserjet 4000 path = /var/spool/samba valid users = +kontor printable = yes default devmode = no use client driver = yes [KONTOR-EC] comment = HP Laserjet 2430 path = /var/spool/samba valid users = +kontor printable = yes default devmode = no use client driver = yes [KONTOR-LD] comment = HP Laserjet 2100 path = /var/spool/samba valid users = +kontor printable = yes default devmode = no use client driver = yes [KOPI-FARVE] comment = Minolta Bizhub 451 path = /var/spool/samba valid users = +edb, +hha, +hjunderviser, +koekken, +kontor, +pedel, +underviser printable = yes default devmode = no use client driver = yes [KOPI-PLOT] comment = HP Deskjet 650C (Jetd. ExPlus 3) path = /var/spool/samba valid users = +edb printable = yes default devmode = no use client driver = yes [KOPI-PRUM] comment = Minolta Bizhub 250 path = /var/spool/samba valid users = +edb, +hha, +hjunderviser, +koekken, +kontor, +pedel, +underviser, p-rum, akl, vic printable = yes default devmode = no use client driver = yes [KOPI-SH] comment = Minolta Bizhub 600 path = /var/spool/samba valid users = +edb, +hha, +hjunderviser, +koekken, +kontor, +pedel, +underviser printable = yes default devmode = no use client driver = yes [MEDIE] comment = Brother HL 5070N path = /var/spool/samba printable = yes default devmode = no use client driver = yes [PLEJE] comment = Brother HL 1470N path = /var/spool/samba valid users = +edb, +hha, +hjunderviser, +koekken, +kontor, +pedel, +underviser printable = yes default devmode = no use client driver = yes [SORT] comment = Brother HL 2170DN path = /var/spool/samba printable = yes default devmode = no use client driver = yes
On Tuesday 26 August 2008, Hans Otto Lunde wrote:> The documentation says, that the guest-account should be defined, > although I have "guest ok = no" in the smb.conf. Default for that > account is the "nobody-user". Mine is called sambody and has a > home-directory etc."guest ok = " is a share level parameter although it can be used in the global section thereby affecting all shares that do not explicitly reset it. It doesn't effect the actual guest account itself. Typical default guest account is "nobody", although it can be virtually anything (even "sambody"), but it does need to be a real 'nix user (needs an entry in /etc/passwd). The Windows "guest" account has to be mapped to the 'nix guest account in your username map file, which is /etc/samba/smbusers in my case and the global parameter tells samba where it is: "username map = /etc/samba/smbusers". In my case it contains: #==============root = administrator nobody = guest #============== Yours should probably at the least contain: #==============sambody = guest #==============Again, where "sambody" is a valid 'nix account. Also the global parameter "map to guest = " should be added to your smb.conf, "map to guest = bad user" works for general guest usage. -- Chris
Hans Otto Lunde
2008-Aug-26 23:25 UTC
[Samba] Hig cpu-usage on 3.0.24 on 64bit Debian etch
On the 26th of august Chris wrote:>> "guest ok = " is a share level parameter although it can be used in the >> global section thereby affecting all shares that do not explicitly >> reset it. It doesn't effect the actual guest account itself. >> Typical default guest account is "nobody", although it can be virtually >> anything (even "sambody"), but it does need to be a real 'nix user >> (needs an entry in /etc/passwd). >> The Windows "guest" account has to be mapped to the 'nix guest account >> in your username map file, which is /etc/samba/smbusers in my case and >> the global parameter tells samba where it is: >> "username map = /etc/samba/smbusers". >> In my case it contains: >> #==============>> root = administrator >> nobody = guest >> #============== >> Yours should probably at the least contain: >> #==============>> sambody = guest >> #==============>> Again, where "sambody" is a valid 'nix account.>> Also the global parameter "map to guest = " should be added to your >> smb.conf, "map to guest = bad user" works for general guest usage.Thanks, Chris, for your answer. I forgot to mention that almost all my clients are XP professional with SP3. No "Guest" user on them by the way. I've made the changes you suggested, the problem persists. The spikes seem to be related to samba changing the owner of a smb-process, from the user to sambody(guest account), from sambody to root or the other way round. Could anyone explain what controls these ownership-changes, except inactivity? Also the spikes seem to happen to processes that are doing nothing, no file-copying, printing etc. As if samba is somehow talking to itself...?#! I have a feeling that it's a bug of some kind, related to the 64bit version. But i don't really have something to back it up with, since everything is ok, except for the load spikes that accummulate to a lot of cpu-usage with many users working. Maybe I should take a deep breadth and upgrade to Lenny(debian testing), with samba 3.2 or recompile samba 3.2.2 myself. Any suggestions? :-) Hans Otto Lunde