Mengapa Chrome memiliki banyak proses pada mesin saya?

21

Saya punya hampir 20 proses untuk google chrome (sementara hanya memiliki 4 tab terbuka, semua dengan HTML barebones), semua memori memonopoli dan baik mengatakan futex_wait_queue_me atau poll_schedule_timeout.

Penggemar saya menjadi liar oleh semua ini dan salah satu prosesi memakan seluruh CPU saya, apa yang terjadi?

(Terjadi pada Chromium juga)

Dante Ashton
sumber
Mungkin memori mungkin dibagi antara proses. Lihat /proc/$pid/smapsdan lihat apakah Pss lebih rendah dari Rss . Jika demikian, itu dibagikan.
karthick87
3
di sini Anda akan menemukan beberapa info tambahan stackoverflow.com/questions/2019500/…
NES

Jawaban:

29

Chrome membuat setiap halaman (tab) dalam proses yang berbeda. Ini membuatnya lebih cepat pada mesin multi-prosesor.

Perilaku yang Anda lihat adalah normal.

futex_wait_queue_memengacu pada jenis kunci mutex (pengecualian saling pengguna cepat) yang digunakan untuk menjadwalkan banyak proses bekerja pada satu prosesor. Negara menunjukkan bahwa proses Anda enqueued untuk menerima kunci.

Kadang-kadang, jumlah yang sangat tinggi dari menunggu kunci dapat disebabkan oleh pembatasan cpu, tetapi paling sering, itu normal. Lihatlah jenis situs web yang telah Anda buka; Mungkin sesuatu seperti Flash menyebabkan beban CPU yang tinggi.

Untuk melihat tab atau plugin apa yang memperlambat sistem Anda atau mengisi memori Anda, Anda dapat menggunakan pengelola tugas bawaan Chrome:

Klik kanan pada bilah tab dan pilih "Pengelola Tugas"

teks alternatif

Dalam contoh saya, javascript omgubuntu menggunakan banyak cpu.

Stefano Palazzo
sumber
5
Ini membuat setiap tab sebagai proses yang berbeda - menjalankannya di "kotak pasir" sendiri untuk meminimalkan kemungkinan Virus membunuh seluruh Browser. Masuk akal?
jrg
5
Setiap plugin (flash, dll.) Juga merupakan prosesnya sendiri. Dan itu tidak hanya menghentikan virus - jika flash crash, atau satu tab crash, itu memungkinkan Anda untuk hanya membunuh tab / plugin / apa pun, dan membiarkan barang-barang Anda tetap utuh. Ini dianggap sebagai fitur praktis, dan peramban lain berupaya meniru itu. Saya percaya Mozilla bekerja pada beberapa perubahan radikal ke sistem manajemen tab Firefox hanya untuk mengimplementasikan fitur ini, tapi saya tidak mengikuti mereka dengan cermat, dan saya tidak tahu apakah itu direncanakan untuk keluar untuk FF4.
Daniel
@ jrgifford Anda memang benar, saya merisetnya dan menghilangkan ambiguitasnya. Ini proses penuh, bukan hanya utas.
Stefano Palazzo
@Daniel God, saya harap tidak ... Ketika saya memiliki banyak tab yang terbuka dan Flash membunuh salah satu dari mereka, setidaknya setengah dari mereka turun. Itu hanya pernah terjadi di Chrome, tidak pernah firefox ...
Nick Pascucci
1
@ jrgifford Anda beruntung brengsek. Uh ... Ya, dengan browser menjadi satu-satunya hal yang dapat memakan sumber daya sistem, mereka mungkin (dan memang) merasa mereka memiliki lisensi untuk mem-sandbox setiap instance flash sebagai prosesnya sendiri. Tapi itu akan sedikit ekstrem untuk Chrome versi non-OS, kurasa.
Daniel
3

Memiliki banyak proses adalah perilaku normal Chrome / Chromium.
Status futex_wait_queue_me atau poll_schedule_timeout untuk proses-proses itu tampaknya baik-baik saja.

Anda dapat menggunakan monitor sistem untuk melihat apakah satu proses tertentu menggunakan terlalu banyak CPU. Kadang-kadang javascripts kereta atau program flash mulai menggunakan semua cpu.

Jika menurut Anda ini masalahnya, pastikan Anda tidak memiliki data yang belum disimpan di beberapa aplikasi web dan cukup hentikan prosesnya. Chrome kemudian akan mengusulkan Anda untuk memuat ulang halaman tersebut. Biasanya memecahkan masalah.

Maxime R.
sumber