Як змусити Firefox використовувати всю потужність процесора?


1

Деякі програми, такі як Firefox, використовують максимум 25% всіх процесорів (лише 1 потік).

Однак деякі програми, такі як WinRAR, використовують до 100% всіх процесорів.

Як змусити Firefox використовувати всі можливості CPU (наприклад, WinRAR)?

У мене Windows 7 і процесор Intel Core-i5 (4 різьби).


1
Чому ви хочете ...? Firefox не потребує всіх цих ресурсів, наприклад, у той час як winrar міг.
nerdwaller

@nerdwaller Деякі програми потребують високого процесора, але використовують лише 25%. firefox є прикладом.
EmRa228

Думаю, я не розумів, що Firefox був настільки ресурсоємним, що вибачте - просто запитую: D
nerdwaller

Я бачу ці речі в диспетчері завдань, але що означає використання відсотка процесора?
barlop

Відповіді:


7

Деякі завдання можуть отримати користь від паралелізму.
Наприклад, якщо одна людина може побудувати один будинок за 9 місяців, то (можливо) 9 людей можуть побудувати один будинок за один місяць.

Але деякі завдання не можуть виграти від паралелізму.
Наприклад, жінка може зачати & amp; народжувати дитину через 9 місяців, після чого 9 жінок, щоб виростити одну дитину за один місяць, ніколи не станеться.

Firefox, по суті, є програмою реагування на вхідні дані.
Ви вводите URL-адресу або натисніть посилання.
Firefox видає запит на отримання веб-сторінки з віддаленого сервера, а потім чекає.
Коли веб-сторінка доставляється, Firefox обробляє цей вхід і видає її на екрані.
Потім Firefox чекає на наступну вхідну дію.

Firefox - це програма, яка не виграє (суттєво) від паралелізму.
Тому Firefox (мабуть) реалізований як однопотокова програма для використання тільки одного ядра.
У той час як інші програми, які є інтенсивно обчислювальними і реалізовані як багатопотокові, такі як WinRAR, користуються паралельністю і виконуються на декількох процесорах / ядрах.


1
IE і Chrome можуть обробляти декілька вкладок одночасно, використовуючи повний процесор, замість того, щоб обмінюватися обкатками та обробляти теми. Часто весь Firefox зависає через тривіальні речі одна вкладка, що відображає деякі сніжинки в JavaScript .
Cees Timmerman

Я вважаю, що ця відповідь є неправильною, незважаючи на голоси і відзначена як найкраща відповідь. Проблема не в отриманні документа. Надання веб-сторінки може бути дуже обчислювально інтенсивним і Firefox не повністю використовує обидва ядра в моєму блокноті. Це робить візуалізацію деяких сторінок затяжними ...
Diego

@Diego - Спробуйте перечитувати питання і зосередитися на останньому абзаці, особливо на другому реченні. В іншому випадку подайте власну відповідь на запитання. Зауважте, що питання не в тому, чому Firefox (або візуалізація веб-сторінок) повільний. Також відзначимо, що дана відповідь становить чотири роки, а веб-сторінки стали більш складними. "Firefox не повністю використовує обидва ядра в моєму блокноті". - І друге речення в останньому пункті пояснює, чому.
sawdust

5

Ви не можете, тільки розробник програми може.

Єдиним варіантом є, якщо ви хочете, щоб 100% використання процесора було відкрито 4 копії програми, кожна копія зробить основне.


Я встановлюю XAMPP і використовую mysql і httpd (служба apache). моя база даних має 5,000,000 записів і виконання запиту займає багато часу, тому що вони використовують лише 25% CPU. будь-яке рішення?
EmRa228

1
Ви не питали про mysql, ви запитали про firefox. Будь ласка, напишіть ваш РЕАЛЬНИЙ питання, ви потрапляєте в Проблема XY . Є ДЕФІНАТИВНИЙ матеріал, який може допомогти вам зробити MySQL швидше.
Scott Chamberlain

Я маю цю проблему (25% використання) з іншими програмами, наприклад firefox, dreamweaver, notepad ++ і т.д.
EmRa228

Це виклик API, і є програмне забезпечення, яке може зробити цей виклик (мабуть, впливає або від імені іншого програмного забезпечення, або від імені самого технічного фахівця, яким би не був погляд!), Хакер процесу може зробити виклик API, як очевидно "Process Lasso" з bitsum.com згадується superuser.com/questions/136021/… Це може змінити пріоритет IO, але справа в тому, що це правильний, і чи можна змінити більш доречні?
barlop

@barlop, який просто змінює пріоритет, ви все одно залишилися з одним ядром на 100%, а інші 3 на 0% (залишивши вам 25% використання ЦП)
Scott Chamberlain

3

Потоки в Windows працюють доти, доки не закінчаться їх кванти (тимчасовий фрагмент), вони блокують (наприклад, виконуючи вхід / вихід, який ще не завершено), або вони перериваються для запуску чогось вищого пріоритету, який просто готовий.

Windows дозволяє домагатися пріоритету потоку, аж до THREAD_PRIORITY_TIME_CRITICAL . Але навіть самі теми з найвищим пріоритетом періодично перериваються для запуску потоків з низьким пріоритетом за допомогою планувальника Windows, який використовує випадкові підвищення щоб уникнути тупикового стану, що викликається пріоритет інверсії .

Як або коли програма створює нові потоки і що вони роблять, це рішення дизайну, вбудоване у внутрішню логіку програми, а не те, що ви можете керувати, крім можливо, за допомогою способу використання програми, наприклад, відкриття додаткових вкладок або будь-якого іншого.

Підсумок полягає в тому, що, якщо вам цікаво, що потрібно для максимального використання процесора максимально можливо, відповідь на це займає процесорно-інтенсивна діяльність з такою кількістю потоків, як у вас є процесори, не блокує в / в і працює на більш високий пріоритет (наприклад, тільки на передньому плані), ніж інші завдання.


це дуже інформативно. Чи буде це корисно для нього? superuser.com/questions/136021/… якщо так, ви можете оновити свою відповідь. Хакер процесу може змінити "IO пріоритет" процесу або, напевно, пріоритет всіх потоків процесу або окремих його потоків. Це пріоритет, який він хоче змінити? Процес хакер може зробити той виклик API, як очевидно може "Process Lasso" з bitsum.com (програма, на яку відповідає в тому, що вищезгадана су нитка, працює). Чи є IO пріоритетом те, що він хотів би змінити? або річ?
barlop

З усіма своїми знаннями про пріоритети ниток, чи не можете ви дійсно не відповісти, чи є це пріоритет він повинен піти на зміну? і чи є більш доречними інші пріоритети ниток?
barlop

Якщо потік робить i / o, є хороший шанс, що він буде блокувати, оскільки пристрої вводу / виводу, такі як диски, є механічними і дуже повільними в порівнянні з процесором. З цієї причини зміна пріоритету вводу / виводу навряд чи буде майже настільки ефективною, як просто не робити вводу / виводу, якщо ваша мета полягає в максимальному використанні процесора.
Nicole Hamilton

@barlop Збільшення пріоритету процесу не допомагає йому працювати швидше, якщо тільки не існує інший процес, який також намагається використовувати процесор. Дивіться мою відповідь тут: superuser.com/a/964389/348119
Jamie Hanrahan

@JamieHanrahan звичайно (і неправильне розуміння питання, на яке ви відповіли, це не той, який я коли-небудь мав, і це не той, який має це питання), але це досить поширене, що є й інші процеси, які намагаються використовувати процесор, є майже ніколи не один процес. А запитувач запитав: «Як я можу змусити Firefox використовувати всю ємність процесора», безумовно, відповідь - збільшити його пріоритет. І, звичайно, це також само собою зрозуміло, що якщо процес не працює нічого, то ОС буде достатньо розумним, щоб не дати йому жодного процесорного часу!
barlop

1

Ні. Різьблення - це рішення, розроблене розробником програми, і може бути використано (або принаймні корисне) лише в деяких випадках. крім того, CPU є лише одним компонентом, який може приймати час виконання, і, як наслідок, якщо він очікує на оновлення диска або високочастотного барабана, то CPU все одно діятиме так, як ви описали, незважаючи на те, що додаток є багатопоточним і багатоядерний чіп.


1

Mozilla Firefox заснований на програмному забезпеченні, написаному до того, як процесори з декількома ядрами стали популярними. Як таке, він все ще використовує єдиний процес із складною системою потоків, яку нелегко розділити на окремі програми. Ви можете голосувати за та брати участь Електроліз проект:

Метою проекту є запуск веб-контенту в окремий процес   від самого Firefox. Дві основні переваги цієї моделі   безпеки та продуктивності. Безпека поліпшиться через зміст   процеси можуть бути розміщені в песочниці (хоча пісочниці вмісту   Процеси є окремим проектом з електролізу). Продуктивність буде   поліпшити, оскільки в інтерфейсі браузера не буде впливати бідні   продуктивність коду вмісту (будь то макет або JavaScript). Також,   зміст процесів можна було б відокремити один від одного, що б мати   подібні переваги безпеки та ефективності.

Хоча платформа Gecko підтримує кілька процесів, Firefox   frontend не призначений для їх використання. Працюйте, щоб зробити інтерфейс   (включаючи доповнення) підтримка декількох процесів була розпочата на початку 2013 року.   The проект дорожньої карти має більше деталей.

Microsoft Internet Explorer і Гугл хром вже можуть обробляти декілька вкладок одночасно, використовуючи повний процесор, замість того, щоб обмінюватися обкатками та обробляти потоки. Часто весь Firefox зависає через тривіальні речі одна вкладка, що відображає деякі сніжинки в JavaScript .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.