pycharm วิ่งทางช้า


123

ฉันเป็นแฟนตัวยงของPyCharm โดย JetBrainsแต่ฉันพบปัญหาบางอย่างที่ฉันคิดว่าฉันอาจจะถามที่นี่

  1. มันค้างโดยไม่คาดคิดและเกิดขึ้นบ่อยครั้ง โดยรวมแล้วมันช้าไปหน่อยสำหรับรสนิยมของฉันและฉันชอบเคล็ดลับในการเพิ่มประสิทธิภาพของ IDE
  2. บ่อยครั้งเมื่อฉันเปิดโครงการ PyCharm ดูเหมือนจะตั้งค่าสถานะบิวท์อินทั้งหมดเป็นคำเตือนการอ้างอิงที่ไม่ได้แก้ไข สิ่งต่างๆเช่น open (), str () ฯลฯ รวมถึงโมดูลบางอย่างที่ฉันนำเข้าเช่น sys (สิ่งเหล่านี้เป็นตัวการกระทำผิดที่พบบ่อยที่สุด :))

วิธีเดียวที่ฉันสามารถแก้ไข (2) คือไปที่ PyCharm -> Preferences -> Python Interpreters -> Paths -> Reload List of Paths แต่ฉันต้องทำสิ่งนี้บ่อยพอที่จะรับประกันการถามเกี่ยวกับการแก้ไขที่ถาวรกว่า

การกำหนดค่าของฉัน: Mac OSX Lion ทำงานบน MacBook Pro (กลางปี ​​2010) พร้อม RAM 8GB

ตอนนี้ดูฉันเข้าใจแล้วว่าการวินิจฉัยสิ่งต่างๆเช่นนี้เป็นเรื่องยากโดยไม่มีภาพรวมหรือข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้น แต่ฉันแค่ถามว่ามีใครเคยพบปัญหาเหล่านี้มาก่อนหรือไม่และถ้าเป็นเช่นนั้นปัญหาเหล่านี้ได้รับการแก้ไขอย่างไร

ขอบคุณ!

ป.ล. ฉันได้ติดต่อ JetBrains เกี่ยวกับปัญหาเหล่านี้ด้วย แต่โดยสุจริตฉันมักจะพบวิธีแก้ปัญหาที่ดีสำหรับปัญหาทั่วไปที่นี่และฉันคิดว่าฉันก็อาจถามเช่นกัน


PyCharm ของฉันทำงานช้ามาก (แฮงค์สองสามวินาทีบ่อยมาก) เมื่อคอนโซลมีเส้นมาก => ฉันลบภาพพิมพ์บางส่วนและมันก็กลับมาเป็นปกติ
— Vincent J

ดูเพิ่มเติมที่: stackoverflow.com/questions/38242978/…
— Stephen

คำตอบ:


27

ทุกปัญหาด้านประสิทธิภาพของ PyCharm นั้นไม่เหมือนใครวิธีแก้ปัญหาที่ช่วยคน ๆ หนึ่งจะไม่ได้ผลกับคนอื่น วิธีเดียวที่เหมาะสมในการแก้ไขปัญหาประสิทธิภาพการทำงานที่เฉพาะเจาะจงของคุณโดยการจับภาพรวม CPU Profiler ตามที่อธิบายไว้ในเอกสารฉบับนี้และส่งไปยังทีมสนับสนุน PyCharmทั้งโดยการส่งตั๋วหรือโดยตรงในการติดตามปัญหา

หลังจากวิเคราะห์สแนปช็อตของ CPU แล้วทีม PyCharm จะดำเนินการแก้ไขและเผยแพร่เวอร์ชันใหม่ซึ่ง (หวังว่า) จะไม่ได้รับผลกระทบจากปัญหาด้านประสิทธิภาพนี้ ทีมงานอาจแนะนำให้คุณเปลี่ยนการกำหนดค่าหรือวิธีแก้ปัญหาเพื่อแก้ไขปัญหาโดยอาศัยการวิเคราะห์ข้อมูลที่ให้มา

"วิธีแก้ปัญหา" อื่น ๆ ทั้งหมด (เช่นการเปิดใช้งานโหมดประหยัดพลังงานและการเปลี่ยนระดับการไฮไลต์) จะซ่อนปัญหาที่แท้จริงที่ควรได้รับการแก้ไข


ฉันโพสต์คำถามสองข้อ: คำถามหนึ่งชื่อ "[PyCharm-Problem] PyCharm ทำงานช้ามาก" และอีกคำถามหนึ่งชื่อว่า "[PyCharm-Problem] PyCharm ไม่รู้จักบิวด์อินและโมดูลบางตัว" แต่อย่างไรก็ตามคุณตอบสนองทั้งสองอย่างแล้ว ขอบคุณมาก :)
— mlnyc

คุณโพสต์ไว้หลังจากโพสต์คำถามที่นี่ ฉันเพิ่งได้รับและตอบกลับทั้งสองคน
— CrazyCoder

1
@CrazyCoder มีอะไรที่เราสามารถทำได้ถ้า PyCharm เริ่มใช้ CPU รอบ? ก่อนหน้านี้จะเกิดขึ้นในขณะที่ไฟล์ Python เฉพาะถูกโฟกัสในตัวแก้ไข แต่สิ่งนี้ได้รับการแก้ไขด้วยเวอร์ชัน 5 แต่ตอนนี้ในเวอร์ชัน 2016.1.2 ดูเหมือนว่า IDE จะเริ่มใช้งานแบบสุ่ม> 50% แม้ว่าจะปิดไฟล์ตัวแก้ไขทั้งหมดและไม่มีอะไรทำงานและ ในโหมดประหยัดพลังงานและจะดำเนินต่อไปเรื่อย ๆ จนกว่าฉันจะปิด PyCharm และในไม่ช้าก็จะเริ่มต้นอีกครั้งเมื่อเริ่มต้นใหม่ ความคิดใด ๆ ? หน่วยความจำประมาณ 200MB (จาก 725) ฉันใช้ OS X 10.11.3, PyCharm build # PY-145.844 นี่เป็นปัญหาใหญ่สำหรับฉันเนื่องจากฉันอาศัยอยู่ในสถานที่ที่มีการตัดไฟ
— คริส


2
"ทุกปัญหาด้านประสิทธิภาพของ PyCharm ไม่เหมือนใคร" กล่าวอีกนัยหนึ่ง PyCharm ไม่สามารถแก้ไขได้ :-( ในทางตรงกันข้ามปัญหาทั่วไปที่ไม่ซ้ำกันดูเหมือนจะเป็นโฟลเดอร์ข้อมูลขนาดใหญ่ในโครงการที่ควรแยกออกจากการตรวจสอบ
— jolvi

169

1. เปลี่ยนระดับการตรวจสอบ

เวอร์ชัน PyCharm ปัจจุบันช่วยให้คุณสามารถเปลี่ยนประเภทของการวิเคราะห์โค้ดแบบคงที่ที่ดำเนินการได้และยังมีคุณสมบัติการประหยัดพลังงาน / CPU (คลิกที่ไอคอนที่ด้านล่างขวาถัดจากล็อค):

ใส่คำอธิบายภาพที่นี่

2. เปลี่ยนไดเร็กทอรีที่จัดทำดัชนี
ไม่รวมไดเร็กทอรีจากการถูกจัดทำดัชนีซึ่งกำหนดไว้ในเส้นทางโครงการ แต่ไม่จำเป็นต้องค้นหาและจัดทำดัชนีจริง กดและการค้นหาสำหรับALT+CTRL+Sproject

3. ทำหน่วยความจำกวาด
มีคุณสมบัติที่น่าสนใจอีกอย่างคือ

ไปสู่การตั้งค่า (File / การตั้งค่า) และค้นหาหน่วยความจำ ในIDE Settings>Appearance-> Show memory indicatorเห็บ แถบความจำจะแสดงที่มุมล่างขวา (ดูภาพด้านล่าง) คลิกที่แถบนี้เพื่อเรียกเก็บขยะ / กวาดหน่วยความจำ

ใส่คำอธิบายภาพที่นี่


1
แก้ไขปัญหาของฉัน มันใช้ CPU มากกว่า 100% ไม่อีกแล้ว. :)
— Kashyap

6
สิ่งเหล่านี้ไม่ควรทำงานโดยอัตโนมัตินาน ๆ ครั้งหรือไม่?
— Berry Tsakala

16
ctrl + alt + s -> การตั้งค่า
— mateuszb

2
จุดที่ 2 ประหยัดเวลาของฉัน!
— Wok

2
ฉันจะปิดการใช้งานปลั๊กอินที่คุณไม่ได้ใช้ด้วย เลื่อนสองครั้งและค้นหา "ปลั๊กอิน" และยกเลิกการเลือกสิ่งที่คุณไม่ต้องการทั้งหมด
— Steve Rossiter

11

Lorenz Lo Sauer มีคำถามที่ดีสำหรับเรื่องนี้อยู่แล้ว แต่ถ้าคุณต้องการแก้ไขปัญหานี้ผ่าน Pycharm Tuning (โดยไม่ต้องปิดการตรวจสอบโค้ด Pycharm) คุณสามารถปรับขนาดฮีปได้ตามต้องการ เนื่องจากฉันชอบใช้โซลูชัน Heap Size ที่เพิ่มขึ้นสำหรับ Pycharm Application ที่ทำงานช้า

คุณสามารถปรับขนาดฮีปได้โดยแก้ไขไฟล์ pycharm.exe.vmoptions และ pycharm64.exe.vmoptions สำหรับแอปพลิเคชัน 64 บิต จากนั้นแก้ไขค่า -Xmx และ -Xms

ดังนั้นฉันจึงจัดสรร 2048m สำหรับค่า xmx และ xms (ซึ่งก็คือ 2GB) สำหรับขนาด Pycharm Heap ของฉัน นี่คือการกำหนดค่าของฉัน ฉันมีหน่วยความจำ 8GB ดังนั้นฉันจึงตั้งค่าด้วยการตั้งค่านี้:

-server
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=2048m

บันทึกการตั้งค่าและรีสตาร์ท IDE และฉันเปิดใช้งาน "แสดงตัวบ่งชี้หน่วยความจำ" ในการตั้งค่า -> ลักษณะที่ปรากฏและพฤติกรรม -> ลักษณะที่ปรากฏ เพื่อดูการใช้งานจริง:

Pycharm ช้าพิมพ์ช้าเพิ่มขนาด Pycharm Heap

และ Pycharm นั้นรวดเร็วและทำงานได้ดีในขณะนี้

อ้างอิง: https://www.jetbrains.com/help/pycharm/2017.1/tuning-pycharm.html#d176794e266


1
สมบูรณ์แบบ :) การรีสตาร์ท IDE ควรกล่าวถึง
— Appyx

1
นี่คือคำตอบที่ดีที่สุด (ดูคำตอบของ JMJ ด้านล่างซึ่งให้วิธีง่ายๆในการแก้ไข) ฉันคิดว่าหน่วยความจำเริ่มต้นของ PyCharm สูงสุด 2GB นั้นค่อนข้างต่ำสำหรับผู้ใช้หลายคน
— Stephen

7

ในกรณีของฉันปัญหาคือโฟลเดอร์ในไดเร็กทอรีโปรเจ็กต์ที่มีไฟล์ 300k + รวมเป็น 11Gb นี่เป็นเพียงโฟลเดอร์ชั่วคราวที่มีรูปภาพจากผลการคำนวณบางอย่าง หลังจากย้ายโฟลเดอร์นี้ออกจากโครงสร้างโครงการความช้าก็หายไป ฉันหวังว่านี่จะช่วยใครบางคนได้โปรดตรวจสอบโครงสร้างโครงการของคุณเพื่อดูว่ามีอะไรที่ไม่จำเป็นหรือไม่


3
นี้! หากคุณต้องการเก็บโฟลเดอร์ไว้ใน Project Directory ให้แยกโฟลเดอร์ออกจากการจัดทำดัชนีโดย: คลิกขวาที่โฟลเดอร์ที่คุณต้องการยกเว้น "ทำเครื่องหมายไดเรกทอรีเป็น" -> "ไม่รวม"
— dtadres เมื่อ

6

มันง่ายมากโดยการเปลี่ยนขนาดฮีปตามที่กล่าวไว้ ง่ายๆเพียงไปที่ Pycharm HELP -> แก้ไขตัวเลือก VM ที่กำหนดเอง ... และเปลี่ยนเป็น:

-Xms2048m
-Xmx2048m

4

เกี่ยวกับปัญหาการค้างเราพบว่าสิ่งนี้เกิดขึ้นเมื่อประมวลผลไฟล์ CSV ที่มีบรรทัดที่ยาวมากอย่างน้อยหนึ่งบรรทัด

ในการทำซ้ำ:

[print(x) for x in (['A' * 54790] + (['a' * 1421] * 10))]

อย่างไรก็ตามดูเหมือนว่าจะได้รับการแก้ไขแล้วใน PyCharm 4.5.4ดังนั้นหากคุณประสบปัญหานี้ให้ลองอัปเดต PyCharm ของคุณ


2

ฉันพบวิธีแก้ปัญหานี้ซึ่งใช้งานได้ดีบน Windows และต้องการแบ่งปัน

วิธีแก้ไขที่ใช้ไม่ได้ผล: ฉันมี RAM 16GB และยังคงมีความล่าช้าอย่างมาก PyCharm ใช้ RAM น้อยกว่า 1GB สำหรับฉันนั่นไม่ใช่ปัญหา การปิดการตรวจสอบไม่ได้ช่วยเลยและฉันก็ไม่มีปลั๊กอินพิเศษที่จำได้ ฉันยังลองเล่นกับความสัมพันธ์ของ CPU สำหรับกระบวนการซึ่งใช้งานได้สั้น ๆ แต่ไม่ได้ผลจริงๆ

อะไรทำงานได้สวยงามเกือบสมบูรณ์แบบ:

  1. ตั้งค่าลำดับความสำคัญ CPU ของ PyCharm เป็นสูงกว่าปกติ
  2. ตั้งค่าลำดับความสำคัญของ CPU สำหรับกระบวนการ Python เป็นต่ำกว่าปกติ

คุณสามารถทำได้ด้วยตนเอง แต่ขอแนะนำให้ใช้โปรแกรมที่จะรักษาการตั้งค่าไว้ระหว่างการรีสตาร์ทและสำหรับหลาย ๆ ฉันใช้ Process Hacker: คลิกขวาที่กระบวนการ -> Priority -> Set the priority จากนั้นคลิกขวาอีกครั้ง -> Process -> และเลือก "Save for pycharm64.exe" และในทำนองเดียวกันสำหรับ python "Save for python.exe" สุดท้ายใน Process Hacker ให้ไปที่ Options และเลือก "Start when I log on" สิ่งนี้จะทำให้ไฟล์ปฏิบัติการ Pycharm และ python ทั้งหมดได้รับลำดับความสำคัญของ CPU เหล่านี้แม้ว่าจะรีสตาร์ทโปรแกรมและ / หรือ Windows ก็ตามและไม่ว่าคุณจะเปิดอินสแตนซ์ python กี่ตัวก็ตาม

โดยทั่วไปความล่าช้าของ PyCharm ส่วนใหญ่อาจเกิดจากความขัดแย้งกับโปรแกรมอื่น ๆ ลองคิดดู: ใช่ PyCharm ต้องการ CPU จำนวนมาก แต่นักพัฒนา PyCharm ไม่ได้โง่ อย่างน้อยพวกเขาอาจมั่นใจได้ว่ามันสามารถทำงานได้โดยไม่เกิดความล่าช้าบนแกนว่าง แต่ตอนนี้คุณเปิด Chrome และแท็บ 30 แท็บ, Fiddler, โปรแกรม FTP, iTunes, Word, Slack และอื่น ๆ และพวกเขาทั้งหมดแข่งขันกับ PyCharm ในระดับความสำคัญของ CPU เดียวกัน เมื่อใดก็ตามที่ผลรวมของโปรแกรมทั้งหมด> 100% บนคอร์คุณจะเห็นความล่าช้า การเปลี่ยนไปใช้ลำดับความสำคัญสูงกว่าปกติทำให้ PyCharm มีบางสิ่งที่ใกล้เคียงกับคอร์เปล่าที่อาจถูกทดสอบ

สำหรับ Below Normal บน python.exe โดยพื้นฐานแล้วคุณไม่ต้องการให้คอมพิวเตอร์ของคุณช้าลงด้วยการพัฒนาของคุณเอง โปรแกรมหลามส่วนใหญ่เป็นโปรแกรม "แบทช์" เป็นหลักและคุณอาจไม่สังเกตเห็นเวลาที่ใช้ในการรัน ฉันไม่แนะนำสิ่งนี้หากคุณกำลังพัฒนาโปรแกรมโต้ตอบแบบกราฟิก


ทั้งหมดนี้อาจเป็นปัญหาน้อยกว่ากับคอมพิวเตอร์แบบฟิสิคัลคอร์ 4 คอร์ (8 โลจิคัลคอร์) ในกรณีของฉันฉันติดอยู่กับ 2 คอร์ทางกายภาพ (4 ตรรกะ) ดังนั้นการจัดการกระบวนการที่ดำเนินการพัฒนาท้องถิ่นจึงสำคัญกว่า
— Stephen

3
คำเตือน : อย่าสูงกว่าปกติ หากคุณทำเช่นนี้คุณจะแข่งขันกับกระบวนการของ Windows และอาจทำให้เกิดความเสียหายกับคอมพิวเตอร์ของคุณ และคุณจะไม่ทำให้เร็วขึ้นมากหากเลย
— Stephen

0

ในกรณีของฉันมันช้ามากและฉันจำเป็นต้องเปลี่ยนการตั้งค่าการตรวจสอบฉันลองทุกอย่างสิ่งเดียวที่ได้ผลคือจากเวอร์ชัน 2018.2 เป็น 2016.2 บางครั้งก็ดีกว่าที่จะอัปเดตบางอย่างเบื้องหลัง ...


เพิ่ม deatils เพิ่มเติมที่นี่
— Mathews Sunny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.