
Mientras copio archivos más grandes desde una ubicación a un servidor de pruebas de Linux, sigo teniendo desconexiones en el área de 1,7 a 1,9 GB. El protocolo utilizado no hace ninguna diferencia (SFTP/SCP/SMB).
Supongo que el servidor de destino no puede asignar los bloques en el disco lo suficientemente rápido, lo que genera un cuello de botella en el almacenamiento o en la CPU, lo que provoca la desconexión. Cuando el sistema de destino se pone al día, el sistema de origen ya ha generado una excepción. Parece que puedo confirmar esto limitando la velocidad máxima de transferencia a aproximadamente 15 kb/s (en la que se está ejecutando actualmente).
Me preguntaba si alguien tiene algún consejo sobre cómo evitar que ocurra este problema. Estoy pensando en algo parecido a jugar con buffers o tiempos de espera más largos en el sistema host o de destino. ¿Quizás un cliente de copia de terceros? (Realmente extraño no tener rsync nativo en Windows)
¿Alguien tiene algún consejo sobre esto? La forma más conveniente de copiar es usar un sistema Windows en un servidor Samba, que es lo que estoy tratando de lograr.
EDITAR: Para no ampliar demasiado los comentarios a continuación, otra observación que respaldaría mi idea de un cuello de botella de recursos. Si pausa específicamente mi cliente de copia cada pocos 100 megas aproximadamente (y presumiblemente permito que el objetivo se ponga al día), la copia se realiza. Supongo que tendré que descubrir cómo hacer esa captura de paquetes (¿de una copia de 2GiB?). Tal vez jugar con nice/ionice podría ser la solución, restándole prioridad a smbd.
Respuesta1
si bien es cierto; duerme 10; eco 1 > /proc/sys/vm/drop_caches; hecho
Tengo muchos problemas con esto, pero esto me ayudó significativamente.