Windows의 Cygwin은 매우 느리고 지연됩니다


22

갑자기 Windows 명령 행에서 시작하는 모든 Cygwin 명령은 실행하기 전에 ~ 10-20 초의 지연을 가져서 Cygwin을 완전히 사용할 수 없게됩니다. 이미 성공하지 않고 다시 설치하려고했습니다.

Bash 쉘 창에서 명령을 실행하면 정상적으로 작동합니다 (Bash를 시작하는 동안 지연이 나타납니다). 로컬 PATH 변수에서 모든 항목을 제거해도 영향을 미치지 않습니다. Windows 7 x64 및 Cygwin x64 v 1.7.34 (0.285 / 5 / 3)를 사용합니다.


cygwin.bat를 시작하지 않을 때 cmd.exe와 동일합니까? 예 :C:\cygwin\bin>.\ls.exe <ENTER>
barlop

업데이트가 있습니까?
yO_

답변:


15

때때로 나는 수천 명의 사용자가있는 Windows 도메인에서 일합니다.

최선의 추측 방법을 원하지 않습니다. Cygwin 이 필요에 따라 사용자 정보를 캐시 하는 것을 선호 합니다. 이것은 쉬운 일로 밝혀졌습니다.

cygserver로그인시 간단히 실행하십시오 .

이것을 올바르게 설정하려면 cygserver-config한 번만 실행하십시오 . cygserver올바른 자격 증명을 사용하여 Windows 서비스로 실행되도록 설정됩니다 . 관리자 Cygwin 창 에서이를 수행하십시오 .

$ cygserver-config
Generating /etc/cygserver.conf file

Warning: The following function requires administrator privileges!

Do you want to install cygserver as service?
(Say "no" if it's already installed as service) (yes/no) yes

The service has been installed under LocalSystem account.
To start it, call `net start cygserver' or `cygrunsrv -S cygserver'.

Further configuration options are available by editing the configuration
file /etc/cygserver.conf. Please read the inline information in that
file carefully. The best option for the start is to just leave it alone.

Basic Cygserver configuration finished. Have fun!

cygserver나를 위해 무엇을 합니까?

Cygwin 사이트 의 설명서 살펴보십시오 . 기본적으로 모든 Cygwin 프로세스 간에 IPC가 작동하도록하는 동시에 사용자 캐싱 작업을 수행 합니다.

마일리지는 다를 수 있지만 지금은 내가 선호하는 작업 방식입니다. 몇 년 전에 했어야했는데


대단해! 오랜 시간 후에 공유해 주셔서 감사합니다. / cygdrive를 통한이 파일 액세스의 사용은 이전과 비교하여 훨씬 빨라졌습니다.
85fce

/usr/bin/cygserver-config: line 181: cygrunsrv: command not found, C:/cygwin64/bin온입니다 PATH... 관리자 권한으로 실행
Troyseph

1
@Troyseph C:\cygwin64\bin\cygrunsrv.exe존재합니까? 에 슬래시 ( /) 를 잘못 사용 했습니까 %PATH%? 는 IS cygrunsrv의 패키지가 설치되어 있습니까?
bobbogo

아, C:\cygwin64\bin\cygrunsrv.exe존재하지 않는 cygrunsrv: NT/W2K service initiator패키지를 설치 하고 모두 작동합니다.
Troyseph

응답 에서처럼 cygserver-config를 실행하고, cygwin 작업을 전혀 중단했습니다 (프로세스가 시작되지
않음

12

인증과 관련이있는 것 같습니다. 나를 위해, 40 초 동안 무언가를 실행할 수 있습니다. 그러나 그 프로세스 트리에서 프로세스 생성 은 매우 빠릅니다.

https://www.cygwin.com/faq.html#faq.using.startup-slow

그래서 나는

  • 로컬 인증 및 자체 AD (Active Directory) 자격 증명 캐시를 만들었습니다.

    $ mkpasswd -l -c >/etc/passwd
    $ mkgroup -l -c >/etc/group
    
  • Cygwin에게이 두 파일을 사용하도록

    $ echo 'passwd: files' >/etc/nsswitch.conf
    $ echo 'group: files' >>/etc/nsswitch.conf
    

모든 Cygwin 프로세스를 종료하고 다시 시작했습니다. 이제 모든 것이 훌륭하고 빠르게 실행됩니다. 모든 Cygwin DLL 파일 업데이트에서이 핵을 제거하고 어떻게 진행되는지 보겠습니다.

이것은 단지 스케치 일뿐입니다. 최소한 백업을 유지하고 싶을 것입니다!

편집하다

더 이상 사용되지 않습니다. 더 나은 (IMHO) 솔루션에 대한이 질문에 대한 최근 답변 을 참조하십시오 .


나를 위해 일하고 ... 서비스를 설치할 필요가 없었습니다!
Droj

@bobbogo 당신의 대답은 나를 위해 바닥에 있습니다. 마지막에 편집 할 때 어떤 대답을 하시겠습니까? 감사!
jpaugh

"모든 cygwin 명령이 실행되기 전에 ~ 10-20 초의 지연이 발생하는 이유"를 설명 할 수는 없지만 이것에 대해 알아두면 좋습니다.
philwalk

@ philwalk 나는 그렇게 생각합니다. 문제는 시작시 Cygwin 이 사용자 데이터베이스를 채워야한다는 것입니다. 당신이 큰 windoze 도메인 안에있을 때 시간이 오래 걸립니다. 모든 명령에 이러한 지연이 발생하는 것은 아니며 프로세스 트리 의 첫 번째 명령에만 해당 됩니다.
bobbogo

2

아래 업데이트를 읽으십시오. 문제가 아닙니다.

간헐적이지만이 문제의 극단적 인 버전으로 고통 받고 있습니다. 문제가 존재하면 모든 명령은 20 초에서 가장 극단적 인 경우 몇 분이 걸립니다. 며칠 동안 일어날 것이고 며칠 동안 사라질 것입니다. BTW, DRAM, SSD 드라이브 등이 많은 초고속 시스템이 있습니다.

나는 마침내 사물을 설명 할 수있는 후보 이론을 가지고있다. 방금 setup-x86_64.exe를 통해 Cygwin을 업데이트했으며 (드물게는 수행합니다) 나중에 다시 매우 반응이 빠릅니다 (전보다 1000 배 더 빠름). 나는 업데이트가 끝날 때 rebaseall이 차이를 만든 것 같아요.

업데이트 : 이전에 본 속도 향상은 우연의 일치였습니다. 한 달 후에 문제가 다시 발생해도 문제가 해결되지 않았습니다. Windows Defender 실시간 보호 기능을 비활성화하면 속도 저하가 즉시 해결되었습니다.


2
비활성화 Windows Defender는 실시간 보호는 즉시 둔화 해결 알려진 문제 -
gavenkoa

1

각주로서 방금 Cygwin 업데이트 후 passwdgroup파일 을 다시 작성해야한다는 것을 알았습니다 . 느린 동작이 다시 발생함에 따라 설치의 autorebase 부분을 완료하는 데 며칠이 걸렸습니다.

또한 (Windows 10) 시스템에서 기본 nsswitch.conf를 수정할 필요가 없었습니다.

그건 그렇고, 느린 동작은 Windows 명령 프롬프트와 휴대용 응용 프로그램에서도 나타났습니다. 일부 휴대용 응용 프로그램은 시작할 때 창을 만드는 데 몇 시간이 걸렸습니다.


그들을 재건한다는 것은 무엇을 의미합니까? 비어있는 새 버전을 만드시겠습니까?
user13743

1

이것이이 문제가 나를 위해 나타난 방법입니다. 첫 번째, 20 번에 따르면, Cygwin에 입력 된 명령은 빠르지 만 갑자기 고통스럽게 느려졌습니다.

위의 인증 수정을 시도했습니다. 그것은 나를 위해 작동하지 않았다.

Cygwin FAQ는 Cygwin이 사용자 또는 그룹 이름의 공백을 좋아하지 않는다고보고합니다. 참조 내 Windows 로그온 이름, 그 안에 것이 문제를 일으킬 공백이? .

내 그룹 이름에 공백이 있으므로 /etc/group인증 수정에서 생성 된 파일에서 밑줄로 변경했습니다 . 그것은 작동하지 않았다.

동일한 문제에 대한 다른 게시물에서 바이러스 검색 결과가보고되었습니다. 기존 바이러스 스캐너 (System Center Endpoint Protection)를 Sophos로 교체했습니다. 그로 인해 문제가 해결되었습니다.

이게 도움이 되길 바란다.


0

cygwin에서 잠시 동안 빌드를 느리게 실행하는 데 문제가 있습니다.

나는 어제 업데이트해야했고 rebaseall 문제가 단순히 실행되지 않는 문제에 부딪쳤다. 이로 인해 나는 다른 것들을 파헤쳐 야했으며 Trusteer Rapport / End Point Protection은 재베이스 문제와 응답 시간이 느린 것으로 알려진 보고서를 발견했습니다. 그래서 제어판을 통한 일반적인 Windows 제거 프로그램 방법을 통해 제거했습니다.

그런 다음 대시 인터페이스에서 관리자로 실행하여 rebaseall을 수행했습니다.

따라서 이것은 시작 메뉴 유형 대시에서 (win7)을 의미합니다. 대시 바로 가기가 나타납니다. 관리자로 실행하려면 마우스 오른쪽 버튼을 클릭하십시오. 그런 다음 실행되면 다음을 실행하십시오.

/ usr / bin / rebaseall -v

커피를 마시 러 가십시오. 몇 초 동안 앉아 출력을 표시해야합니다. 5 분 이상 앉아 있지 않으면 다른 문제가 있습니다.

이것은 rebaseall을 수정했지만 빌드 속도를 크게 향상 시켰습니다. 설치되어 있는지 확인할 가치가 있으므로 제거하십시오.


다른 사람이 할 수 있도록 충분히 자세하게 설명한 단계를 설명 할 수 있습니까? … 의견에 응답하지 마십시오.  명확하고 완전하게 답변을 편집 하십시오.
Scott

Windows 10에서 대시의 위치는 c:\msys64\user\bin\dash.exe입니다. 관리자 권한으로 실행하려면 바탕 화면에 바로 가기를 만들어야했습니다. 불행히도, 이것은 나의 느린 cygwin을 수정하지 못했습니다 : (
user13743
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.