เหตุใด Chrome จึงมีกระบวนการมากมายในเครื่องของฉัน


21

ฉันมีเกือบ 20 โพรเซสสำหรับ google chrome (ในขณะที่เปิด 4 แท็บเท่านั้น, ด้วย barebones HTML), hogging memory ทั้งหมดและบอกว่า futex_wait_queue_me หรือ poll_schedule_timeout

แฟนของฉันกำลังคลั่งไคล้ทั้งหมดนี้และหนึ่งในผู้ดำเนินการกำลังกินซีพียูทั้งหมดของฉันเกิดอะไรขึ้น?

(เกิดขึ้นกับ Chromium ด้วย)


อาจเป็นหน่วยความจำที่ใช้ร่วมกันระหว่างกระบวนการลอง/proc/$pid/smapsดูที่และดูว่าPssต่ำกว่าRss หรือไม่ถ้าใช่มันแบ่งปันกัน
karthick87

3
คุณจะพบข้อมูลเพิ่มเติมได้ที่stackoverflow.com/questions/2019500/…
NES

คำตอบ:


29

Chrome แสดงผลแต่ละหน้า (แท็บ) ในกระบวนการที่แตกต่างกัน สิ่งนี้ทำให้เร็วขึ้นบนเครื่องที่ใช้โปรเซสเซอร์หลายตัว

พฤติกรรมที่คุณเห็นเป็นเรื่องปกติ

futex_wait_queue_meอ้างถึงชนิดของการล็อก mutex (การยกเว้นซึ่งกันและกันกับผู้ใช้พื้นที่เร็ว) ที่ใช้เพื่อกำหนดเวลากระบวนการจำนวนมากทำงานบนโปรเซสเซอร์เดียว สถานะบ่งชี้ว่ากระบวนการของคุณถูกจัดคิวเพื่อรับการล็อก

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

หากต้องการดูว่าแท็บหรือปลั๊กอินใดที่ทำให้ระบบของคุณช้าลงหรือเติมหน่วยความจำจนเต็มคุณสามารถใช้ตัวจัดการงานที่มีอยู่แล้วภายในของ Chrome:

คลิกขวาบนแถบแท็บและเลือก "ตัวจัดการงาน"

ข้อความแสดงแทน

ในตัวอย่างของฉันจาวาสคริปต์ของ omgubuntu ใช้ซีพียูจำนวนมาก


5
มันแสดงผลแต่ละแท็บเป็นกระบวนการที่แตกต่าง - เรียกใช้ใน "แซนด์บ็อกซ์" ของตนเองเพื่อลดโอกาสที่ไวรัสจะฆ่าเบราว์เซอร์ทั้งหมด ทำให้รู้สึก?
jrg

5
แต่ละปลั๊กอิน (แฟลช ฯลฯ ) เป็นกระบวนการของตัวเอง และไม่เพียงแค่หยุดไวรัส - หากแฟลชล่มหรือแท็บหนึ่งล่มมันช่วยให้คุณสามารถฆ่าแท็บ / ปลั๊กอิน / อะไรก็ได้และปล่อยให้เนื้อหาที่เหลืออยู่ของคุณสมบูรณ์ นี่ถือเป็นคุณสมบัติที่มีประโยชน์และเบราว์เซอร์อื่นกำลังทำงานเพื่อเลียนแบบ ฉันเชื่อว่า Mozilla กำลังทำงานกับการเปลี่ยนแปลงที่รุนแรงของระบบจัดการแท็บของ Firefox เพื่อใช้งานคุณลักษณะนี้ แต่ฉันไม่ได้ติดตามพวกเขาอย่างใกล้ชิดและฉันไม่รู้ว่าจะใช้ FF4 หรือไม่
แดเนียล

@jrgifford คุณพูดถูกฉันค้นหาและลบความคลุมเครือ มันเป็นกระบวนการที่สมบูรณ์ไม่ใช่แค่เธรด
Stefano Palazzo

@Daniel God ฉันหวังว่าจะไม่ ... เมื่อฉันเปิดแท็บหลายครั้งและ Flash ฆ่าหนึ่งในนั้นอย่างน้อยครึ่งหนึ่งของพวกเขาลงไป มันเคยเกิดขึ้นใน Chrome, Firefox ไม่เคย ...
นิค Pascucci

1
@jrgifford คุณโชคดีกระตุก เอ่อ ... ด้วยเบราว์เซอร์เป็นเพียงสิ่งเดียวที่สามารถกินทรัพยากรของระบบพวกเขาอาจ (และถูกต้อง) รู้สึกว่าพวกเขามีใบอนุญาตในการ sandbox แต่ละตัวอย่างของแฟลชเป็นกระบวนการของตัวเอง แต่นั่นคงเป็นเรื่องที่ค่อนข้างสุดขั้วสำหรับ Chrome รุ่นที่ไม่ใช่ระบบปฏิบัติการ
Daniel

3

การมีหลายกระบวนการเป็นพฤติกรรมปกติของ Chrome / Chromium
futex_wait_queue_meหรือสถานะpoll_schedule_timeoutสำหรับกระบวนการเหล่านั้นดูเหมือนว่าใช้ได้

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

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

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