Hög CPU-användning vid filöverföring till FreeNAS. [SMB]

Permalänk

Hög CPU-användning vid filöverföring till FreeNAS. [SMB]

Jag har en dator med en Intel Celeron 2,4 Ghz och 768 Mb RAM som jag har FreeNAS 0.7.2 (LiveCD) rullandes på.

Vid filöverföring via SMB från min arbetsdator ligger CPU-användningen på runt 80% vid 100 Mbit (se bild).
Jag har även provat att sätta i ett 3com-NIC, men det ger också lika stor belastning.

Ska jag räkna med att det ska vara såhär, eller är det något som är fel på datorn?

Permalänk
Medlem

det låter lite mycket med den hårdvaran tycker jag. Min samba på ubuntu ligger runt 30-50% cpu när jag skyfflar i dubbla din hastighet.

Permalänk
Medlem

Vad säger dina error loggar? Jag gissar på något inte är som det ska.

Permalänk

Såhär ser min system-log ut:

smbd[17906]: [2011/03/21 12:44:19.367445, 0] lib/util_sock.c:474(read_fd_with_timeout) smbd[17906]: [2011/03/21 12:44:19.369498, 0] lib/util_sock.c:1432(get_peer_addr_internal) smbd[17906]: getpeername failed. Error was Socket is not connected smbd[17906]: read_fd_with_timeout: client 0.0.0.0 read error = Socket is not connected.

Permalänk

Efter att ha kört "dmesg" såg jag att hårddisken är ansluten med en "non ATA66-cable". Kan det ha något med saken att göra?
Jag kan prova att byta IDE-kabel för att se om det åtgärdar felet.

EDIT:
Men jag vet fortfarande inte vad felmeddelandet i posten ovanför betyder. Någon som vet något mer?

Permalänk
Medlem

Har inte hittat vad felet i sig betyder. Det finns en lösning på FreeBSD.org's forum. Dock tror jag knappast att det är det som är felet när du får sådan hög belastning på cpu:n.

Permalänk
Medlem

Nej, hade det varit en trasig IDE sladd hade kärnan skrivit ut t.ex. I/O fel.
Men här är det smbd dvs samba-demonen som svarar.

En snabb googling verkar visa felet,
http://www.linuxquestions.org/questions/slackware-14/samba-er...

Permalänk
Medlem

Vad är CPU-grafen skapad från för data? Är det Sambas CPU-användning eller totalt för maskinen? Är I/O-wait, sys, irq inräknat?

Är det gammla IDE-diskar? *BSD klockar ner IDE-kanalerna om den misslyckas med att prata med diskarna, går det riktigt dåligt går den ner från DMA till PIO mode vilket innebär att det går åt mycket CPU-tid att läsa från disk. Det står i dmesg-output om den gjort något sådant.

En annan teori jag har är att CPU-grafen inkluderar iowait, eftersom CPUn inte har något att göra förövrigt kommer den att *aktivt* vänta på hårddisken. Använd verktygen top och iostat för att se hur mycket CPU samba tar och hur mycket CPUn ligger i iowait. Om Samba tar 10-20% och iowait ligger på 60-70% så blir det vad din graf visar.

Visa signatur

kill -s SIGCHLD `pidof Kenny`
bash: Oh my god, they killed Kenny
init: You Bastards

Permalänk
Medlem

Har du kikat i FreeNAS forumet? finns fler som har samma problem.
http://sourceforge.net/apps/phpbb/freenas/viewforum.php?f=61

Visa signatur

Medlem #14

Permalänk

Tack för alla era svar. Jag har gått och blivit sjuk just nu, men ska ta tag och kolla upp era länkar och råd så fort jag piggnat till och orkar ta tag i detta igen.

Nu är det dags att sova, tack för mig på ett tag.

Permalänk
Skrivet av houze:

Vad är CPU-grafen skapad från för data? Är det Sambas CPU-användning eller totalt för maskinen? Är I/O-wait, sys, irq inräknat?

Är det gammla IDE-diskar? *BSD klockar ner IDE-kanalerna om den misslyckas med att prata med diskarna, går det riktigt dåligt går den ner från DMA till PIO mode vilket innebär att det går åt mycket CPU-tid att läsa från disk. Det står i dmesg-output om den gjort något sådant.

Disken körs i UDMA-läge, så det ska inte vara några problem.

Skrivet av houze:

En annan teori jag har är att CPU-grafen inkluderar iowait, eftersom CPUn inte har något att göra förövrigt kommer den att *aktivt* vänta på hårddisken. Använd verktygen top och iostat för att se hur mycket CPU samba tar och hur mycket CPUn ligger i iowait. Om Samba tar 10-20% och iowait ligger på 60-70% så blir det vad din graf visar.

Du är nog något på spåren. Använder jag top så ser jag 30% cpu-användning av smb, jag ser dock ingenting om iowait.

iostat kan jag inte riktigt förstå mig på. Skriver jag in kommandot iostat -d 2 får jag denna output vid en filöverföring:

ad0 da0 pass0 KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s 64.00 170 10.65 0.00 0 0.00 0.00 0 0.00 63.85 164 10.25 0.00 0 0.00 0.00 0 0.00 64.00 162 10.15 0.00 0 0.00 0.00 0 0.00 [...]Ny rad varannan sekund

Permalänk
Medlem
Skrivet av The_beast*:

Du är nog något på spåren. Använder jag top så ser jag 30% cpu-användning av smb, jag ser dock ingenting om iowait.

iostat kan jag inte riktigt förstå mig på. Skriver jag in kommandot iostat -d 2 får jag denna output vid en filöverföring:

ad0 da0 pass0 KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s 64.00 170 10.65 0.00 0 0.00 0.00 0 0.00 63.85 164 10.25 0.00 0 0.00 0.00 0 0.00 64.00 162 10.15 0.00 0 0.00 0.00 0 0.00 [...]Ny rad varannan sekund

Tyvärr har jag inte använt *BSD de senaste 5 åren så jag är lite osäker på vilka paramametrar man ska ange för iostat.

I Linux brukar jag bara använda -xm #updateintervall #updates
och i Solaris brukar jag använda -xcMp #updateintervall #updates
likt detta

bash# iostat -xm 2 100 avg-cpu: %user %nice %system %iowait %steal %idle 4.27 0.00 1.51 3.27 0.00 90.95 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util md0 0.00 0.00 29.50 0.00 1.75 0.00 121.76 0.00 0.00 0.00 0.00 0.00 0.00 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 1.00 5.50 0.00 93.50 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util md0 0.00 0.00 68.00 0.00 4.25 0.00 128.00 0.00 0.00 0.00 0.00 0.00 0.00

Som synes har jag här runt 4-5% iowait när något program läser 2-4MB/s från en av mina raid-volymer (långsamma gamla IDE-diskar). Det bör att få fram detta med iostat i FreeBSD oxå, ta bort -d flaggan eller lägg till -C för att få lite mer info

-d Display only device statistics. If this flag is turned on, only device statistics will be displayed, unless -C or -T is also speci- fied to enable the display of CPU or TTY statistics.

iowait behöver inte betyda så mycket, förutom att man har lite långsamma diskar, skulle CPU'n behövas till något annat än att stå och vänta på disk-access så kommer operativsystemet schemalägga den process som behöver CPU-tid på CPU'n istället för att CPU'n står och idlar i väntan på disk-I/O.

Samba som tar 30% CPU vid enbart 10MB/s låter lite mycket men Celeron är en rätt långsam CPU antar jag så det stämmer nog.

På min Athlon II X2 240 tar c:a 15% när jag kopierar i 50MB/s från den, men det är ju en modernare CPU med dubbla kärnor.
Men så du får en uppfattning av det så ser man nedan hur min maskin använder 4.2+6.3% CPU för allt den gör medans den aktiva CPU-kärnan väntar på disk-I/O 31.9% och 50.7% är i idle (dvs, 1 CPU-kärna).

top - 20:11:03 up 2 days, 20:56, 5 users, load average: 0.87, 0.24, 0.12 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie Cpu(s): 4.2%us, 6.3%sy, 0.0%ni, 50.7%id, 31.9%wa, 0.0%hi, 6.8%si, 0.0%st Mem: 3537924k total, 3447840k used, 90084k free, 73944k buffers Swap: 2923752k total, 972k used, 2922780k free, 2721780k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2963 houze 20 0 103m 4136 2468 S 15 0.1 0:14.74 smbd 2463 houze 20 0 554m 61m 16m R 4 1.8 162:04.20 xbmc.bin 2255 root 19 -1 122m 25m 2084 S 1 0.7 43:52.91 X 14930 root 20 0 0 0 0 S 1 0.0 0:46.79 kworker/1:2 751 root 20 0 0 0 0 S 1 0.0 1:01.20 md0_raid5

Jag antar att du bara har 100Mbit-nät, du maxar ut nätet fint med 10.6MB/s i överföring så du har inga prestanda-problem, så jag avråder till att bekymmra dig över lite CPU-grafer som inte säger något intressant ändå

Tycker följande citat passar bra in i sammanhanget:

"Statistik är som en bikini, visar det mesta men döljer det viktigaste."

Visa signatur

kill -s SIGCHLD `pidof Kenny`
bash: Oh my god, they killed Kenny
init: You Bastards

Permalänk
Medlem

Ingen onformation som är kypterad?

Visa signatur

What evah! i'll do what i want! | Det stavas väl inte väll...såvida du inte ska skriva välling.
"Det var väl bra"