컬 시작에 6 초 지연이 긴 이유는 무엇입니까?


9

Windows 7 x64 컴퓨터에 Cygwin을 전체 설치했습니다. 각 컴퓨터를 재부팅 한 후 Curl을 시작하는 데 약 6 초가 소요될 수 있습니다 (명령 줄 옵션이 지정되지 않은 경우에도). Curl을 계속 사용하면 지연이 없습니다. DLL이 초기화되고있는 것 같습니다. 다른 사람이 그것을 보았으며 이것이 정상입니까?


1
Cygwin 프로세스가 이전에 시작되지 않은 경우 자체 초기화하는 Cygwin DLL 일 수 있습니다. Windows 쉘 또는 Cygwin bash에서 curl을 어떻게 호출합니까? Cygwin 서비스가 활성화되었거나 시작 또는 로그인시 실행되는 Cygwin 명령이 있습니까?
Aaron Miller

bash가 아닌 Windows cmd 프롬프트에서 호출합니다. 다른 서비스를 시작하도록 구성하지 않았습니다. 32 비트 Windows XP를 포함한 다른 컴퓨터에서 문제를 재현 했으므로 정상적인 시작 시간이라고 생각하지만 확인하고 싶습니다.
user265445

답변:


7

이것은 정상입니다. Cygwin DLL이 처음 실행될 때 Cygwin 환경을 설정하기 위해 시간이 많이 걸리는 여러 초기화 단계를 수행 합니다. 이 초기화는 시스템 부팅 후 Cygwin 프로세스가 처음 생성 된 시점에서 발생하며 불행히도 실제 방법은 없습니다.

내가 제안 할 수있는 가장 좋은 방법은 시스템 시작 체계 또는 로그인 스크립트를 수정하여 Cygwin 프로세스를 작성하여 이미 시스템에서 대기 할 것으로 예상되는 시점에서 초기화 시간이 "롤인"되도록하는 것입니다. 빠른 응답을 기대할 때 나중에 발생하지 않습니다. 예를 들어 배치 파일로 다음과 같은 것을 다음에 추가 할 수 있습니다 C:\Users\<your username>\AppData\Local\Microsoft\Windows\Start Menu\Programs\Startup.

c:\cygwin\bin\run.exe '/bin/bash -c "ls > /dev/null"'

이렇게하면 Cygwin bash 프로세스가 실행되어 콘솔에 창을 표시하지 않고 상당히 빠르게 아무것도 수행하지 않고 종료됩니다. 따라서 Cygwin DLL이 부작용을 일으키지 않고 자체로드하고 초기화하도록하여 결국 명령 프롬프트와 curl을 실행하면 초기화 시간이 이미 발생했으며 대화 형 명령을 실행하는 동안 짜증을 내지 않습니다.


내가 본 지연을 설명하는 링크에 감사드립니다.
user265445
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.