Periksa penggunaan CPU dengan tab atau dengan add-on pada firefox di mac [duplikat]


13

Versi Firefox saya memiliki proses pelarian / utas yang membuatnya menggunakan CPU 100% pada MacBook Pro saya (OSX 10.7.4) setelah beberapa menit. Saya sudah mencoba menggunakan about:memorydan about:addons-memorymencoba mencari tahu apa yang menyebabkan masalah, tetapi sepertinya tidak ada hubungannya dengan penggunaan memori sama sekali. Apakah ada cara untuk melihat penggunaan CPU dengan tab atau add-on?

Jawaban:


6

Sebenarnya, about:memorytab tidak menunjukkan alokasi memori oleh tab; itu hanya sedikit sulit untuk grok.

Ketika Anda pergi ke about:memory, Anda akan melihat daftar alokasi memori yang diatur secara hierarkis. Item tingkat atas pertama dalam daftar harus Alokasi Eksplisit . Di bawahnya ada beberapa simpul daun. Yang Anda cari adalah objek jendela . Di bawah itu, sebagian besar node berlabel "atas" merujuk ke tab (jika Anda memuat situs web, Anda akan melihat alamat di sebelah "atas"). Sebagai contoh, saya melihat:

├───29.63 MB (15.27%) -- window-objects
│   ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│   ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│   ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│   ├───3.50 MB (01.80%) ++ (5 tiny)

Angka-angka di depan adalah penggunaan memori, juga diberikan sebagai persentase dari keseluruhan penggunaan memori Firefox.

Tambahkan pada penggunaan memori juga ditampilkan, tetapi tidak secara eksplisit dengan menambahkan. Anda harus mencari di dalam daftar untuk mencari tahu dengan menemukan semua komponen yang dimiliki add-on dan menambahkan alokasi memori.

Catatan, saya di saluran Beta (jadi saat ini menggunakan Firefox 22.0b2) tapi saya percaya ini bekerja pada rilis yang lebih lama.


terima kasih, saya tidak melihat ada kebocoran memori. tampaknya ingatan cenderung tetap konstan. hanya saja setelah beberapa saat, cpu berduri dan tetap seperti itu.
claire

11
Pertanyaan khusus tentang penggunaan CPU , bukan memori.
laggingreflex

@ laggingreflex: Ya, saya tahu. Saya membalas pernyataan "tapi sepertinya tidak ada hubungannya dengan penggunaan memori sama sekali." Namun, melihat kembali, mungkin claire sebenarnya berarti "CPU", bukan "memori."
InnerPortal

Dengan Firefox 38 (berjalan di Linux), saya harus mengklik di Measurebawah Show Memory Reportsuntuk menghasilkan dan melihat pohon yang Anda gambarkan. (Jika ini sama pada semua platform, itu bisa membuat jawabannya sedikit lebih lengkap.)
joeytwiddle

5

Ada beberapa alasan untuk penggunaan CPU yang tinggi di Firefox, dirinci di bawah ini.

1.Tambahkan

Penyebab biasa untuk masalah CPU adalah add-on yang buruk. Tes pertama yang harus dilakukan adalah memulai Firefox tanpa add-on.

Dari Memecahkan masalah Firefox menggunakan Safe Mode :

Di bagian atas jendela Firefox, klik tombol Firefox, buka menu Bantuan dan pilih Restart with Add-ons Disabled.... Firefox akan memulai dengan dialog Mode Aman Firefox. Catatan: Anda juga dapat memulai Firefox dalam Safe Mode dengan menahan tombol shift saat memulai Firefox.

Anda sekarang memiliki dua opsi:

Mengklik tombol Mulai dalam Mode Aman akan menonaktifkan sementara ekstensi dan tema Anda, mematikan akselerasi perangkat keras dan mengatur ulang bilah alat dan penyesuaian tombol. Ketika Anda meninggalkan Safe Mode dan memulai Firefox secara normal, ekstensi, tema, dan pengaturan Anda akan kembali ke keadaan semula sebelum Anda memasuki Safe Mode.

Jika dalam mode Aman Anda tidak memiliki masalah CPU, maka masalahnya adalah dengan salah satu add-on Anda. Anda dapat menggunakan menu Tools > Add-onsuntuk menonaktifkan add-on secara selektif dan memulai kembali Firefox sampai Anda menemukan yang buruk.

2.Flash

Flash dikenal untuk masalah seperti itu. Salah satu cara biasa untuk memperbaikinya adalah Menonaktifkan Akselerasi Hardware Firefox dengan menggunakan menu Tools > Options, tab Advanced, untuk menghapus centang Use Hardware Acceleration When Available.

Dua add-on Adblock Plus dan NoScript direkomendasikan untuk secara selektif memblokir elemen yang tidak perlu, termasuk Flash, pada halaman yang Anda lihat.

3.JavaScript

JavaScript di situs web yang Anda lihat di salah satu tab Anda mungkin dikodekan dengan buruk dan membuang-buang CPU dengan mengulang.

Obat terbaik adalah menggunakan NoScript untuk menghindari eksekusi JavaScript dari situs web yang tidak Anda percayai. Ini juga merupakan langkah keamanan yang harus digunakan siapa pun untuk menghindari eksploitasi skrip lintas situs .

4.Profiling

Jika sangat tidak jelas situs web mana yang menyebabkan CPU tinggi, seseorang dapat menggunakan profil di Firefox, meskipun ini bukan latihan sederhana.

Debugger yang juga melakukan profil adalah:

Jika Anda seorang pengembang dan merasa seperti sebuah petualangan, dan karena Anda menggunakan Mac, Anda dapat menggunakan DTrace seperti yang dijelaskan dalam JavaScript Kinerja / Mengoptimalkan dengan DTrace , yang merupakan alat yang digunakan pengembang Mozilla.


3

@claire: Saat ini tidak ada cara 'mudah', untuk melihat apa yang Anda inginkan. Jika Anda menggunakan cara harrymc, Anda akan menemukan beberapa informasi tentang sumber masalahnya, tetapi mungkin tidak pasti.

Jika Anda ingin menggunakan cara yang 'sulit', itu akan menunjukkan kepada Anda yang memakan CPU Anda di dalam firefox dan / atau plugin-nya, Anda perlu mulai men-debug firefox Anda di lingkungan Anda (terkadang itu bukan hanya firefox dan atau plugin itu sendiri, tapi lib rusak mereka andalkan). Berikut ini penjelasan lengkap tentang cara melakukannya, jika Anda memiliki ide tentang pemrograman. XCode gratis untuk diunduh dari apel:

https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X

Tetapi Anda tidak perlu men-debug kode mozilla lengkap, tetapi Anda akan menemukan titik yang berhubungan dengan peningkatan penggunaan CPU. Itu bisa memberi tahu Anda secara tepat dari mana masalahnya berasal (perulangan buruk dll.).


1

Jika karena alasan tertentu Firefox Anda mengambil dan memakan semua penggunaan CPU Anda, maka Anda dapat mencoba untuk membatasi no. prosesor dan prioritas yang akan diberikan CPU ke proses tersebut untuk mengurangi penggunaan CPU.

Untuk melakukan ini, klik ( Ctrl+ Alt+ Del) untuk membuka Task Manager dan kemudian klik tab proses (proses yang menunjukkan semua proses dengan ekstensi mereka (pada dasarnya ketika Anda berada di Windows semua proses harus diakhiri dengan ekstensi .exe). Klik kanan di atasnya dan pilih Pilih prioritas untuk mengatur prioritas (Jika diatur ke lebih tinggi dari normal kemudian meletakkannya ke normal, jika tidak diatur ke normal dan Anda ingin menurunkannya lebih dari pilih nilai lebih rendah dari normal) dan Set Affinity untuk membatasi jumlah prosesor yang berkontribusi pada proses itu. Atur jumlah prosesor yang Anda inginkan lalu klik ok untuk kembali. Periksa untuk melihat apakah ini berfungsi.

Ingat ini hanya berfungsi untuk komputer multiprosesor (seperti dual-core, quad-core, dll) dan juga bahwa penggunaan CPU berbeda dari penggunaan memori.


1
Maaf atas kesalahan saya, saya lupa membaca bahwa Anda menggunakan firefox di MAC. Saya tidak punya banyak pengalaman dengan MAC tetapi jika itu berisi task manager seperti windows satu, metode ini hanya berfungsi untuk sistem windows.
Hunter

3
Ini adalah saran yang bagus tetapi sama sekali tidak mendekati untuk menjawab pertanyaan yang sebenarnya.
laggingreflex
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.