# CIFS копирование на WIN2k3

## GiDiS

День добрый, возникла следующая проблема:

При завершении копирования с линуксовой машины на виндовую шару (WIN2k3), процесс, который производил копирование, подвисает на продолжительное время, хотя само копирование идет довольно таки шустро.

top говорит, что wa загрузка проца >80%

strace показывает, что процесс подвисает на закрытии файла

Загрузка виндовой машины минимальна, с винды на винду копируется без лагов.

При копировании на WinXP, задержка при закрытии тоже есть, но раз в пять-шесть меньше.

Подскажите в какую сторону копать, плз   :Crying or Very sad: 

Машина:

```
Linux infinity 2.6.22-gentoo-r2 #3 SMP Tue Aug 14 15:54:02 NOVST 2007 i686 Intel(R) Celeron(R) D CPU 420 @ 1.60GHz GenuineIntel GNU/Linux

```

Лог strace:

```

strace -rvf -o ~/copy.log cp ~/world_political_map_NG.rar /mnt/smb/

22549      0.001210 open("/home/v/world_political_map_NG.rar", O_RDONLY|O_LARGEFILE) = 3

22549      0.000070 fstat64(3, {st_dev=makedev(3, 6), st_ino=5243934, st_mode=S_IFREG|0644, st_nlink=1, st_uid=1002, st_gid=0, st_blksize=4096, st_blocks=16

22549      0.000081 open("/mnt/smb/world_political_map_NG.rar", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0644) = 7

22549      0.001936 fstat64(7, {st_dev=makedev(0, 17), st_ino=37160, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=16384, st_blocks=0, st

22549      0.000103 read(3, "Rar!\32\7\0\317\220s\0\0\r\0\0\0\0\0\0\0\266\310t\300\2208\0r:\177\0$"..., 16384) = 16384

22549      0.024740 write(7, "Rar!\32\7\0\317\220s\0\0\r\0\0\0\0\0\0\0\266\310t\300\2208\0r:\177\0$"..., 16384) = 16384

..............

22549      0.000049 read(3, "y\35\244{\306a#\240ni$\361\37\216\1#\2\177&\3`:\213\341\34\364\310\251%/\312\262"..., 16384) = 3371

22549      0.000041 write(7, "y\35\244{\306a#\240ni$\361\37\216\1#\2\177&\3`:\213\341\34\364\310\251%/\312\262"..., 3371) = 3371

22549      0.000049 close(7)            = 0

22549    285.208434 close(3)            = 0

22549      0.000062 close(1)            = 0

22549      0.000047 close(2)            = 0

22549      0.000045 exit_group(0)       = ?

```

----------

## fank

а на целевой машине антивирус есть?

----------

## user11

Удивительно, что зависает-то на закрытии локального файла.

Я бы попробовал посмотреть следующее:

(1) Интересно, есть ли такие же тормоза при использовании smbclient?

Что показывает tcpdump непосредственно перед моментом завершения операции close(3)? (2) Есть ли там какой-то smb-трафик? С чьей стороны первый пакет?

Если (1)=нет, и (2,3)!=(да, со стороны виндовой машины), то вероятно, это какая-то странная проблема в реализации smbfs...

Если (3)=со стороны виндового сервера, то, скорее, надо копать в сторону винды. Тогда можно попробовать включить дебаг самбы, чтобы посмотреть, что там происходит.

----------

## fank

 *Quote:*   

> Удивительно, что зависает-то на закрытии локального файла. 

 

почему локального?

22549      0.000049 close(7)            = 0

22549    285.208434 close(3)            = 0 

удаленного вроде...

почему про антивирь спросил, он просто может проверять файлик на вирусы, вот и задержка

тьфу, туплю...

мне показалось, что время - это приращение, а не время выполнения текущей операции

----------

## GiDiS

Виснет  именно на закрытии удаленного файла close(7), а время - это время выполнения команды из предыдущей строки. 

На целевой машине уже нет антивируса, но это не сильно помогло.

Со всем остальным буду эксперементировать в понедельник

----------

## user11

Ваша правда. Опция -r печатает относительное время с начала предыдущего вызова. Я же, соответственно, был неправ. Зря людей попутал.

Итак, подвисает на закрытии удалённого файла (т.е. всё как у людей, чудес нет).

----------

## GiDiS

Во время закрытия обмен пакетами идет в обе стороны. 

Аналогичные проблемы наблюдаются на SUSE SLED10, так что трабла, скорее всего, зарыта со стороны винды.

Раньше работало без всяких лагов, значит что-то поменялось в винде, хотя что именно помялось так и не могу понять (

----------

## ONEEYEMAN

A kogda eta samaja Vinda obnovljalas? Patchi prinimalis i t.d....

----------

## fank

слушай, а попробуй на винде запустить filemon Руссиновича

может, он чего покажет

----------

## GiDiS

FileMon не показывает файлы, к которым стучатся через сеть. А process monitor требует установленого SP1 (

Хотя время закрытия файла упало всег одо 17-50секунд, хотя ничего такого вроде не делалось. 

Колдунство блин.

----------

## fank

а может, вот это наличествует?

windows malicious software removal tool

он может запускаться как сервис

 *Quote:*   

> The version of the tool delivered by Microsoft Update and Windows Update runs in the background and then reports if an infection is found.

 

----------

## GiDiS

Лишних сервисов нет, обновления не ставились.

----------

## fank

TCP_NODELAY в самбе включен?

----------

## GiDiS

TCP_NODELAY включен

Опытным путем выяснили, что лаги есть только на машинах с новым железом, а на более старых все копируется без проблем.

Потому думаю, что трабла зарыта на уровне ядерных драйверов. 

ЗЫ. При попытке монтировать флэшку mount тоже подвисает   :Confused: 

Новая конфигурация:

   mb:  MSI-945GZM5

   cpu:  Celeron D 420

 *Quote:*   

> lspci:
> 
> 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
> 
> 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
> ...

 

Старая конфигурация:

  mb: GigaByte-8PE800

  cpu: Intel(R) Celeron(R) CPU 2.40GHz

 *Quote:*   

> lspci: 
> 
> 00:00.0 Host bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface (rev 03)
> 
> 00:01.0 PCI bridge: Intel Corporation 82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge (rev 03)
> ...

 

----------

