Mon utilisation du processeur est 100% la plupart du temps dans Windows Server 2008-R2 avec mes propres vps, vmware, quad core et 4 Go de RAM. Lorsque j'ouvre le Gestionnaire des tâches Windows et que j'accède au moniteur de ressources, je constate que l'utilisation à 100% est due à workerprocess.exe
. J'ai 3 sites Web dans mon IIS.
J'ai installé eset-nod32 sur mon vps, mais il ne montre aucune attaque dans les journaux. J'ai essayé de rechercher IIS et d'empêcher DDOS, et viens de trouver une extension pour interdire les adresses IP, mais comment puis-je savoir quelle adresse IP génère du trafic?
Le site Web est écrit en ASP.NET
et C#
. Comment puis-je déterminer ce qui se passe sur ce site Web et quelles lignes de codes sont à l'origine de l'utilisation de ce processeur?
En outre, l'un de mes sites Web doit accéder au bureau de l'administrateur et lire et écrire des fichiers. Donc, à cause de cela, j'ai changé son pool d'applications -> identity (Process Model) en système local, et je ne sais pas s'il est lié à l'utilisation du processeur ou non.
Eh bien, cela peut prendre du temps à comprendre. Quelques points pour le réduire:
Pour ce qui est de diagnostiquer quel pool d'applications pose problème, vous pouvez:
Cela devrait faire apparaître un menu comme celui-ci afin que vous puissiez déterminer quelle application Pool est en cours d'exécution.
À partir de là, vous pouvez simplement redémarrer le pool d'applications 9 fois sur 10, ce qui résoudra les problèmes immédiats que vous rencontrez.
À moins que vous ne dirigiez une entreprise controversée, il ne s'agit probablement pas d'une attaque DDOS. Il est probable que du code reste en suspens, car il ne pouvait pas atteindre un autre serveur, il était bloqué dans une boucle ou des ressources mal allouées, ou votre pool d'applications n'avait tout simplement pas été recyclé.
Vous pouvez traiter ce problème par programme sans avoir à identifier, connecter et recycler manuellement le pool d'applications. Il suffit de configurer la propriété CPU sur votre pool d'applications. Vous pouvez le faire tuer (et redémarrer automatiquement) votre processus chaque fois que vous atteignez un seuil de la CPU pendant un certain temps.
Dans votre cas, si vous souhaitez qu'il redémarre à 80%, vous pouvez cliquer avec le bouton droit de la souris sur le pool d'applications, accéder à Paramètres avancés et appliquer les configurations suivantes:
[~ # ~] note [~ # ~] : Comme kraken101 souligné, différent IIS ont été traités différemment par les interfaces graphiques. Alors que la valeur de configuration est toujours égale à 1/1000%, l’interface prend parfois le pourcentage total.
Vous pouvez ajouter ceci à votre config section comme ceci:
<applicationPools>
<add name="DefaultAppPool">
<cpu limit="80000" action="KillW3wp" resetInterval="00:01:00" />
</add>
</applicationPools>
Alternativement, vous pouvez l'écrire avec Module WebAdministration de Powershell comme ceci:
(* assurez-vous que web-scripting-tools est activé )
Import-Module WebAdministration
$appPoolName = "DefaultAppPool"
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
$appPool.cpu.limit = 80000
$appPool.cpu.action = "KillW3wp"
$appPool.cpu.resetInterval = "00:01:00"
$appPool | Set-Item
Les étapes ci-dessus vous aideront à résoudre certains problèmes une fois qu'ils sont en panne, mais ne résoudront pas réellement les problèmes sous-jacents que vous avez.
Voici quelques ressources sur la surveillance des performances:
Utilisez PerfMon pour collecter des données et DebugDiag pour analyser.
Trouvé ce lien en cherchant un problème similaire.
Je faisais face aux mêmes problèmes récemment et j'ai trouvé une solution qui a fonctionné pour moi et qui a permis de réduire considérablement le niveau de consommation de mémoire.
Solution:
Tout d’abord, recherchez l’application qui entraîne une utilisation intensive de la mémoire.
Vous pouvez le trouver dans la section Détails du gestionnaire de tâches.
Prochain.
Si cette solution vous convient, veuillez ajouter un commentaire afin que je puisse le savoir.
Il existe de nombreuses raisons pour lesquelles vous pouvez constater une utilisation élevée du processeur dans w3wp.exe. J'ai sélectionné six causes communes à couvrir.
Si cela n'est pas nécessaire, désactivez l'option "Activer les applications 32 bits" de votre pool d'applications respectif de votre site Web.
Cela a fonctionné pour moi sur ma machine locale