ฉันใช้คำสั่ง Cygwin จากพรอมต์ Windows CMD ของฉันเป็นเวลาหลายเดือนโดยไม่มีปัญหา ภายในไม่กี่วันที่ผ่านมา ทุกครั้งที่ฉันเรียกใช้คำสั่ง Cygwin (เช่น ls
) คำสั่งจะใช้เวลาหลายวินาทีในการ "โหลด" ก่อนที่จะรันจริง ถ้าฉันลองใช้คำสั่งเดียวกันจากภายใน bash prompt มันจะทำงาน ("โหลด") ทันที
คำถามที่พบบ่อยของ Cygwin ระบุว่าไดรฟ์เครือข่ายใน PATH อาจทำให้เกิดปัญหา ดังนั้นฉันจึงลองวิธีเรียงสับเปลี่ยนบางอย่าง ของตัวแปร PATH
และการเชื่อมต่อเครือข่ายของฉัน ด้านล่าง "เต็ม PATH
" หมายถึงการตั้งค่าเส้นทางเดิมของฉัน "short PATH
" หมายถึงเส้นทางที่มีเฉพาะไดเร็กทอรี Cygwin bin รายงานเวลาผ่านคำสั่ง time
ผลการจับเวลาสำหรับ ls
เชื่อมต่อกับเครือข่าย:
- วิ่ง
ls
ภายในbash
: 0.124 วิ - วิ่ง
ls
ภายใน CMD (เต็มPATH
): 41.29 วิ - วิ่ง
ls
ภายใน CMD (สั้นPATH
): 38.56 วิ
ตัดการเชื่อมต่อจากเครือข่าย:
- วิ่ง
ls
ภายในbash
: 0.125 วิ - วิ่ง
ls
ภายใน CMD (เต็มPATH
): 0.17 วิ - วิ่ง
ls
ภายใน CMD (สั้นPATH
): 0.19 วิ
ผลลัพธ์สำหรับ cygcheck
ฉันวิ่ง cygcheck -s
และสังเกตเห็น:
Warning: There are multiple cygwin1.dlls on your path
แม้ว่านี่อาจเกิดจากการเรียกใช้ cygcheck
จากภายในไดเร็กทอรี bin
ของ Cygwin ฉันถอนการติดตั้งและติดตั้ง Cygwin ใหม่ทั้งหมดแล้ว แต่ยังคงพบปัญหาเดิมอยู่
ผลลัพธ์จาก netstat
ฉันรัน netstat -a -n
ก่อนที่จะดำเนินการ ls
ของ Cygwin และหลังการดำเนินการ (ในขณะที่มันหยุดทำงาน) ฉันทำสิ่งนี้หลายครั้งและพบหนึ่งบรรทัดจากการวิ่งแต่ละครั้งที่ปรากฏอย่างสม่ำเสมอระหว่างการดีเลย์:
UDP 127.0.0.1:55030 *:*
หมายเลขพอร์ตเปลี่ยนจากการทดสอบเป็นการทดสอบ
strace
ผลลัพธ์
ฉันรัน strace
ของ Cygwin ด้วยคำสั่ง ls
ความล่าช้าส่วนใหญ่จะใช้กับการโทร เช่น:
11685 886560 [main] ls 10020 pwdgrp::fetch_account_from_windows: line: <xxxx>
และ
12684 899244 [main] ls 10020 cyg_ldap::fetch_ad_account: No entry for (objectSid=\00\00\00\00) in xxxx DC=xxxx,DC=xxxx,DC=xxxx
netstat -a -n
ในช่วงระยะเวลาหน่วง และค้นหาการเชื่อมต่อในสถานะ SYN_SENT ฉันพบอาการคล้ายกันในวงกว้างเมื่อซอฟต์แวร์พยายามตรวจสอบใบรับรอง SSL แต่การเข้าถึงเครือข่ายถูกบล็อกโดยไฟร์วอลล์ภายนอก (โดยทั่วไปหากคุณไม่มีการเชื่อมต่อเครือข่ายเลย ความพยายามจะล้มเหลวทันที เพื่อให้สอดคล้องกัน) ไม่จำเป็นต้องเป็น SSL การเข้าถึงเครือข่ายอื่นใดจะมีผลคล้ายกัน เช่น หาก Cygwin พยายามด้วยตนเอง อัปเดตหรืออะไรบางอย่าง - person Harry Johnston   schedule 15.02.2015