สตูดิโอ Android ที่ใช้ CPU> 100% ตลอดเวลา - ไม่ปรากฎกระบวนการทำงานอยู่เบื้องหลัง


87

ฉันสังเกตเห็นว่า Android Studio (เมื่อทำงาน) ใช้ CPU มากกว่า 100% ตลอดเวลาแม้ว่าจะดูเหมือนว่าไม่มีกระบวนการเบื้องหลังที่ IDE กำลังทำงานอยู่ (การจัดทำดัชนี ฯลฯ ) ฉันอาจสงสัยว่านี่เป็นสิ่งที่เฉพาะเจาะจงสำหรับกล่องของฉัน แต่เพื่อนนักพัฒนาบางคนก็พบปัญหานี้เช่นกัน

บ่อยครั้งที่การใช้งาน CPU อยู่ในช่วง 100 วินาทีหรือกลาง 200 วินาที (ดูภาพหน้าจอด้านล่าง) มีใครเจอแบบนี้บ้าง ถ้าเป็นเช่นนั้นมีกลยุทธ์หรือตัวเลือกใดบ้างภายใน IDE เพื่อแก้ไขการใช้ทรัพยากรระบบอย่างเข้มข้นนี้หรือไม่

ป้อนคำอธิบายภาพที่นี่

ป้อนคำอธิบายภาพที่นี่


6
ฉันมีปัญหาเดียวกันกับ OS X ด้วย
slanecek

2
ฉันเคยเห็นสิ่งนี้ใน Windows 7 เช่นกันการใช้งาน CPU มากกว่า 80 เปอร์เซ็นต์เสมอ
แมตต์

4
มันถึง 300% การใช้งาน cpu ใน Mavericks ของฉัน (Android Studio 1.0.1)
neobie

ตรวจสอบว่าคุณได้ดาวน์โหลดปลั๊กอินเมื่อเร็ว ๆ นี้หรือไม่ ฉันดาวน์โหลดDevEcoปลั๊กอินและถอนการติดตั้งซึ่งช่วยแก้ปัญหาได้ อาจเป็นการทำงานเบื้องหลังหลายอย่าง
NullByte08

คำตอบ:


50

คุณสามารถลองใช้ตัวเลือกต่อไปนี้ในเมนูไฟล์:

  1. เมนูไฟล์ -> ทำให้แคชไม่ถูกต้อง / รีสตาร์ท ... -> ไม่ถูกต้องและรีสตาร์ท
  2. เปิดใช้งานโหมดประหยัดพลังงานโดยคลิกที่ไฟล์ -> โหมดประหยัดพลังงาน

โหมดประหยัดพลังงานปิดใช้งานข้อมูลเชิงลึกของโค้ดและงานเบื้องหลังเท่านั้น


4
ฉันกำลังแก้ปัญหาเดียวกันกับ Android Studio แต่ไม่ใช่กับ IntelliJ IDEA 12.1.4 ดูเหมือนว่าจะเป็นปัญหาเฉพาะของ Android Studio ไม่ใช่ IntelliJ เอง ปัญหาเริ่มต้นเมื่อฉันเริ่มกระบวนการสร้าง (โดยใช้ maven)
bergvandenp

2
อัปเดต: สิ่งนี้ช่วยได้ แต่ดูเหมือนว่าจะทำให้ฟังก์ชันการทำงานบางอย่างของ IDE พิการ (เช่นการเติมข้อความอัตโนมัติและไอคอนบางส่วนหายไปอาจไม่มีการรองรับคอมไพล์แบบเรียลไทม์?)
Matt

1
ด้วย Android Studio v5 + เวอร์ชันล่าสุดการเติมอัตโนมัติจะทำงานในโหมดประหยัดพลังงาน
muneikh

1
สิ่งนี้ทำให้สิ่งต่างๆดีขึ้น แต่ไม่สามารถใช้งานได้จริงเนื่องจากปิดการใช้งานคุณสมบัติมากเกินไป
idanakav

1
โหมดประหยัดพลังงานยังคงมีให้ใช้งานใน Android Studio 3.1 และได้รับการปรับปรุงตั้งแต่เวอร์ชันก่อนหน้า
muneikh

50

ขอบคุณBuzzrick (คำตอบในหน้านี้อาจอยู่เหนือคำตอบของฉัน) เขาพูดถึง VCS การปิดการทำงานเบื้องหลังทั้งหมดของ VCS ดูเหมือนว่าจะส่งผลกระทบอย่างมากต่อการใช้งาน CPU ที่สูง - มันคือ 150% และตอนนี้ก็เป็น 20% ไม่มากก็น้อย

ฉันใช้ OS X

ไปที่: การตั้งค่า> การควบคุมเวอร์ชัน> พื้นหลัง ตอนนี้รายการภายใต้ 'การดำเนินการเบื้องหลัง' มี 6 ตัวเลือก ฉันปิดการใช้งานสามตัวเลือกแรกซึ่ง ได้แก่ :

ดำเนินการอัปเดต VCS ในพื้นหลังดำเนินการกับ VCS ในเบื้องหลังดำเนินการชำระเงินไปยัง VCS ในพื้นหลัง


สิ่งนี้ใช้ได้ดีสำหรับฉันใน Linux (Ubuntu) ด้วย ฉันเพิ่งปิดใช้งานตัวเลือกพื้นหลัง VCS ทั้งหมดและจากการใช้งาน CPU ตอนนี้ใช้น้อยกว่า 2% ตามด้านบน ขอบคุณมาก!
Fran Marzoa

3
นี่เป็นการปรับปรุงครั้งใหญ่สำหรับฉัน แคชที่ไม่ถูกต้องทำได้มากเท่านั้น แต่ฉันยังคงเห็น AS และ java มากกว่า 100% เป็นประจำ (มากกว่า 300% เมื่อสร้าง!) และตอนนี้มันอยู่ในตัวเลขหลักเดียวที่เหลือ ฉันใช้ AS 3.4.1 fyi
pdub

ฉันไม่พบเมนู "พื้นหลัง" นี้ ฉันทำการค้นหาในการตั้งค่า แต่มันไม่แสดง แต่เมื่อฉันทำการค้นหาทั้งหมดผ่านปุ่ม Shift ฉันสามารถมองเห็นได้ แต่การคลิกที่มันทำให้ฉันไม่มีที่ไหนเลย อาจถูกปิดใช้งานหรือไม่?
John Ernest Guadalupe

ควรมีแท็บ "พื้นหลัง" อยู่ใน "การควบคุมเวอร์ชัน" ในการตั้งค่า
มิเกลพี

1
มิเกลถ้าฉันไม่ได้แต่งงาน (และผู้ชาย) ฉันจะเสนอให้มีลูกรักของคุณ ขอบคุณ!
Jason

33

คุณอาจลองไปที่ไฟล์> ทำให้แคชไม่ถูกต้อง / รีสตาร์ทแคชของคุณอาจกำลังเริ่มต้นบางสิ่งบางอย่างที่ขี้ขลาดในพื้นหลัง

ป้อนคำอธิบายภาพที่นี่


12

ฉันพบการใช้งาน CPU สูงอย่างต่อเนื่องโดยไม่มีเหตุผลชัดเจน แคชที่ไม่ถูกต้องไม่ทำงานหรือโหมดประหยัดพลังงาน

ในกรณีของฉันมีบางอย่างผิดปกติในไดเรกทอรี ".git" ซึ่งทำให้ android studio ล้มเหลวในการวนซ้ำไม่รู้จบ การตรวจสอบ repo อีกครั้งช่วยแก้ปัญหาได้

คำแนะนำของฉันคือตรวจสอบบันทึกสตูดิโอของ Android เพื่อหาคำแนะนำเกี่ยวกับสิ่งที่ทำให้มันสะดุด คุณสามารถเริ่มได้จากเทอร์มินัลและตรวจสอบเอาต์พุต Stdout / Stderr


นี่เป็นกรณีของฉัน ฉันได้เพิ่มนามแฝงในการกำหนดค่าคอมไพล์ซึ่งทำให้ Android Studio ใช้งานไม่ได้
McP

2
กรณีที่คล้ายกันสำหรับฉัน การคอมมิตไฟล์ที่เปลี่ยนแปลงและดันไปที่ repo ได้รับการแก้ไข
Simas

5

ฉันเปิดการประหยัดพลังงานใน Android Studio 1.0 มันช่วยได้ แต่นี่หมายความว่าฉันเลือกไม่ใช้คุณสมบัติมากมายที่ Android Studio มีให้ ดังนั้นฉันจึงพยายามหาวิธีแก้ปัญหาที่ดีกว่าฉันมักจะมีกล่องโต้ตอบปรากฏขึ้นและขอให้ฉันเพิ่มขนาด VM ของฉัน เห็นได้ชัดว่าเมื่อฉันเพิ่มสิ่งนี้ฉันสามารถปิดการประหยัดพลังงานและให้ Android Studio ทำงานได้อย่างสมบูรณ์

นี่คือวิธีการ: บน Mac OS ไปที่ /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(หากต้องการเปิดเนื้อหาคลิกขวาที่แอป Android Studio> ดูเนื้อหา) คุณจะพบตัวแปรต่อไปนี้

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

ใน Windows ไปที่ Environment Variables และค้นหา System Variable ที่เรียกว่า _JAVA_OPTIONS

เพิ่มตัวเลขเหล่านี้ตามลำดับ

  • Xmx ระบุพูลการจัดสรรหน่วยความจำสูงสุดสำหรับ Java Virtual Machine (JVM)
  • Xms ระบุพูลการจัดสรรหน่วยความจำเริ่มต้น

กล่าวคือ JVM ของคุณจะเริ่มต้นด้วยจำนวนหน่วยความจำ Xms และจะสามารถใช้หน่วยความจำสูงสุด Xmx ได้


4

ฉันมีปัญหาเดียวกันกับ Linux แก้ไขได้โดยการเพิ่มขนาดหน่วยความจำ

เริ่มต้นด้วยการดูtop -p <android studio pid> -Hว่าเธรดใดใช้ CPU มากที่สุดสำหรับฉันมีสามเธรด: 94232,94233,94234 แล้วฉันจะทำjstack <pid>จะได้รับการถ่ายโอนข้อมูลสแต็คของหุ่นยนต์ในสตูดิโอและมองหา 0x17018 (= 94,232) "Gang worker#0 (Parallel CMD Threads)"มันจะออกมาเป็น ทั้งสามคน. เห็นได้ชัดว่า JVM ยุ่งเกินไปกับการทำ GC ตลอดเวลา

ยังเปิด jconsole ต่อต้านกระบวนการสตูดิโอ Android ของฉันและแสดงเวลา GC " 20 minutes" !!! (ที่ด้านล่างของแท็บหน่วยความจำ)

การแก้ไขคือการเปลี่ยน studio.vmoptions (หรือ studio64.vmoptions ในกรณีของฉัน) เพื่อเพิ่ม-Xmxค่าจากค่าเริ่มต้น 750m เป็น 1500m ก็เพียงพอแล้วสำหรับฉัน หากคุณมีหน่วยความจำมากเกินไปให้ตั้งค่าเป็น 2g หรือ 4g หรือ 16g ..


jstackขอบคุณสำหรับคำแนะนำเกี่ยวกับการดำรงอยู่ของ ในการเป็นผู้ใช้ครั้งแรกฉันไม่รู้วิธีใช้อย่างถูกต้อง แต่ฉันเห็นว่ามีเธรด VCS อยู่ในสถานะ BLOCKING ฉันไม่แน่ใจว่านี่เป็นสาเหตุหรือไม่ แต่ดูเหมือนว่าจะตรงกับคำอธิบายอื่น ๆ ที่พบที่นี่
Stephan Henningsen

4

ที่น่าสนใจสำหรับฉันสิ่งนี้ดูเหมือนจะเกี่ยวข้องกับการรวมการควบคุมเวอร์ชัน

ฉันแก้ไขปัญหานี้โดยการโหลดโปรเจ็กต์สตูดิโอ Android ของฉันใหม่และเมื่อถูกถามเกี่ยวกับการต่อลิงค์ CVS ของฉัน (ฉันจำคำพูดไม่ได้) ฉันก็แค่พูดว่า "ละเว้น" หลังจากนั้นก็ทำงานได้อย่างราบรื่นโดยไม่ต้องดึง CPU


3

ฉันลองทำตามขั้นตอนต่อไปนี้และAndroid Studioกับไฟล์Surface Pro 3เร่งความเร็วขึ้นตามจำนวนเงินที่บ้า:

  1. ลดamountและลดสิ่งmemoryที่Android Virtual Devicesคุณมี
  2. Invalidate Caches/Restart
  3. ไปที่ Power Saveโหมด
  4. ปิดทั้งหมด unnecessary files that are openedปิดทั้งหมด
  5. ลดของคุณไปรอบ ๆVM Heap Size256

2

ใน Windows ฉันลดลำดับความสำคัญของกระบวนการ studio64.exe และตั้งค่าความสัมพันธ์ของกระบวนการเป็นครึ่งหนึ่งของคอร์ เปิด Task Manager คลิกที่แท็บ Processes คลิกขวาที่ process studio64.exe แล้วคุณจะเห็นในเมนู


เป็นเรื่องน่าสนใจที่บางคนมองว่าสิ่งนี้มีประโยชน์
Stephan Henningsen

1

ฉันทิ้งคำถามนี้ไว้สักพักแล้วเนื่องจากเพื่อนร่วมงานและผู้โพสต์ที่นี่พบคุณค่าในการแก้ปัญหาต่างๆตลอดเวลา สำหรับตัวฉันเองการอัปเดต Android Studio ก็สามารถแก้ปัญหาได้ (หลังจากผ่านไปหลายเดือนโดยที่วิธีแก้ปัญหานี้ไม่ได้ผลสำหรับฉัน)


4
ฉันใช้ Android Studio รุ่นล่าสุดที่เสถียรเวอร์ชัน 3.2.1 และพบว่าปัญหานี้ยังคงอยู่
hansonchris

ตัวจำลองดูเหมือนจะใช้พลังงานมาก
DragonFire

0

ใน Android Studio 2.3 เหตุการณ์นี้จะเกิดขึ้นเมื่อหน้าต่าง"Android Monitor"เปิดอยู่ (หน้าต่างจะแสดงข้อความ Logcat จากอุปกรณ์และอีมูเลเตอร์) จากนั้นคุณกดCtrl+F( Cmd+Fบน Mac) เพื่อเปิดแถบค้นหา "ค้นหา" ภายในหน้าต่างนี้นี้

นอกจากนี้ยังสามารถเกิดขึ้นได้เมื่อคุณเชื่อมต่อโทรศัพท์ Samsung เข้ากับคอมพิวเตอร์ผ่าน USB ซึ่งเปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์เนื่องจากโทรศัพท์ Samsung มักจะส่งข้อความแก้จุดบกพร่องจำนวนมากไปยัง Logcat ทุก ๆ วินาทีแม้ว่าหน้าต่าง Logcat จะปิดอยู่ก็ตาม

ดังนั้นวิธีแก้ไขเพื่อป้องกันการใช้งาน CPU 100% คือ:

ปิดแถบค้นหาหรือซ่อนหน้าต่างทั้งหมด

หรือ

ตัดการเชื่อมต่อโทรศัพท์ Samsung ที่ส่งข้อความดีบักจำนวนมาก

หรือ

อัปเกรดเป็น Android Studio 3 โดยที่ข้อบกพร่องนี้จะไม่เกิดขึ้น


0

ในกรณีของฉันฉันมีwhite-listedโฟลเดอร์ของ Android-Studio อยู่"Eset Smart Security"และปัญหาได้รับการแก้ไขแล้ว!

หวังว่านี่จะช่วยได้!

แก้ไข:

ปิดการใช้งานHIPSในEset settingsก็ยังเป็นประโยชน์ในสถานการณ์ของฉัน!

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