1 votes

Comment puis-je forcer Firefox à utiliser toute la capacité du CPU ?

Certains programmes comme Firefox n'utilisent que 25 % maximum de l'ensemble du processeur (1 seul thread).

Cependant, certains programmes, comme WinRAR, utilisent jusqu'à 100 % de l'ensemble du processeur.

Comment puis-je forcer Firefox à utiliser toute la capacité du CPU (comme WinRAR) ?

J'ai Windows 7 et un processeur Intel Core-i5 (4 Thread).

7voto

sawdust Points 16268

Certaines tâches peuvent bénéficier du parallélisme.
Par exemple, si une personne peut construire une maison en 9 mois, alors (peut-être) 9 personnes peuvent construire une maison en un mois.

Mais certaines tâches ne peuvent pas bénéficier du parallélisme.
Par exemple, une femme peut concevoir et donner naissance à un bébé en 9 mois, mais il est impossible de demander à 9 femmes de produire un bébé en un mois.

Firefox est essentiellement un programme de type entrée-réponse.
Vous tapez une URL ou cliquez sur un lien.
Firefox envoie une requête pour récupérer la page Web sur un serveur distant, puis attend.
Lorsque la page web est livrée, Firefox traite cette entrée et la rend à l'écran.
Firefox attend ensuite votre prochaine action de saisie.

Firefox est un programme qui ne bénéficiera pas (de manière significative) du parallélisme.
Firefox est donc (apparemment) implémenté en tant que programme monofil pour n'utiliser qu'un seul cœur.
En revanche, d'autres programmes, qui nécessitent des calculs intensifs et sont mis en œuvre en mode multithread, comme WinRAR, bénéficient du parallélisme et sont exécutés sur plusieurs processeurs/cores.

5voto

Ed Brannin Points 2723

Vous ne pouvez pas, seul le développeur du programme le peut.

La seule option que vous avez si vous voulez une utilisation à 100% du CPU est d'ouvrir 4 copies du programme, chaque copie prendra un noyau.

3voto

Nicole Hamilton Points 9675

Les threads sous Windows s'exécutent jusqu'à ce que leur quanta (tranche de temps) se termine, qu'ils se bloquent (par exemple, en effectuant des entrées/sorties qui ne sont pas terminées) ou qu'ils soient interrompus pour exécuter quelque chose de plus prioritaire qui vient juste d'être prêt.

Windows permet d'augmenter la priorité d'un thread, jusqu'à THREAD_PRIORITY_TIME_CRITICAL . Mais même les threads les plus prioritaires sont occasionnellement interrompus pour exécuter des threads moins prioritaires par le planificateur de Windows qui utilise coups de pouce aléatoires pour éviter une situation de blocage appelée inversion des priorités .

La façon dont une application crée de nouveaux fils et ce qu'ils font est une décision de conception intégrée dans la logique interne du programme, et non quelque chose que vous pouvez contrôler, sauf peut-être par la façon dont vous utilisez l'application, par exemple en ouvrant plus d'onglets ou autre.

En résumé, si vous vous demandez ce qu'il faut faire pour maximiser l'utilisation du CPU, la réponse est la suivante : prendre une activité gourmande en ressources CPU avec autant de threads que vous avez de processeurs, ne pas bloquer les entrées/sorties et s'exécuter avec une priorité plus élevée (par exemple, être l'application de premier plan) que les autres tâches.

1voto

Frank Thomas Points 33103

Non. Le threading est une décision prise par le développeur de l'application, et ne peut être utilisé (ou du moins être bénéfique) que dans certains cas. De plus, le CPU n'est qu'un composant qui peut prendre du temps d'exécution, et en tant que tel, s'il attend des mises à jour de disque ou de ram haute fréquence, alors le CPU agira toujours exactement comme vous l'avez décrit, malgré le fait que l'application soit multithreadée et sur une puce multicœur.

1voto

Cees Timmerman Points 1598

Mozilla Firefox est basé sur un logiciel qui a été écrit avant que les CPU à cœurs multiples ne deviennent populaires. En tant que tel, il utilise toujours un seul processus avec un système de threads compliqué qui n'est pas facile à diviser en programmes séparés. Vous pourriez voter et participer le site Électrolyse projet :

Le but du projet est d'exécuter le contenu web dans un processus séparé de Firefox lui-même. Les deux principaux avantages de ce modèle sont la sécurité et les performances. La sécurité serait améliorée car les processus de contenu processus de contenu pourraient être sandboxés (bien que le sandboxing des processus de contenu contenu est un projet distinct d'Electrolysis). Les performances seraient amélioreraient parce que l'interface utilisateur du navigateur ne serait pas affectée par une mauvaise performance du code du contenu (que ce soit la mise en page ou le JavaScript). De plus, les processus de contenu pourraient être isolés les uns des autres, ce qui aurait des avantages similaires en termes de sécurité et de performances.

Bien que la plate-forme Gecko prenne en charge plusieurs processus, le système Firefox n'est pas conçu pour les utiliser. Les travaux visant à rendre le frontal (y compris les addons) prenne en charge les processus multiples a débuté début 2013. Le site feuille de route du projet a plus de détails.

Microsoft Internet Explorer et Google Chrome sont déjà en mesure de traiter plusieurs onglets à la fois en utilisant la totalité de l'unité centrale au lieu de s'acharner sur les threads. Souvent, l'ensemble de Firefox se fige à cause de choses triviales comme un seul onglet qui rend quelques flocons de neige en JavaScript .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X